Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Unfortunately this won't work. There have been a couple of API changes made to the svn repository lldb since lldb-179 was branched off (c. early December 2012) for Xcode 4.6.x. If you were to put the <code>LLDB.framework</code> built from current svn in <code>/Applications/Xcode.app/Contents/SharedFrameworks/</code> it will cause Xcode to crash when you try to debug anything.</p> <p>As background, remember that lldb is really a debugger <em>library</em>. The lldb library is <code>LLDB.framework</code> on Mac OS X, which driver programs link against. The command line "lldb" program is one driver, Xcode is another driver. There could be additional driver programs in the future, we sometimes joke about "llgdb", a driver program that has the look &amp; feel of gdb but uses the lldb library to do all the work.</p> <p>The lldb library provides an API that the driver programs code to/link against. It is a C++ API. It is not intended to be long-term stable at this point; occasionally changes to the existing methods need to be made and driver programs have to be updated / relinked against the newer version. This is why a driver program (Xcode) which is compiled to link against an early December 2012 lldb (Xcode 4.6.x) will break if you drop in a newer <code>LLDB.framework</code> - the APIs have been changed incompatibly a few times since December and so the Xcode would crash if you tried to intermix them.</p> <p>There isn't an exact revision you can check out from svn to get the same lldb-179 lldb that was included in Xcode 4.6. When it came time to tag that release, a stable version of lldb was picked and imported into an apple internal repository. It was around the first week of December '12, any revision from there will be indistinguishable from lldb-179. There have been a few minor updates to Xcode 4.6/lldb-179 since then, e.g. lldb-179.1, lldb-179.2, etc. These are made off of the apple internal branch and are lldb-179 plus a handful of cherry-picked fixes from later in the public svn repository.</p> <p>In addition to the C++ API provided by <code>LLDB.framework</code>, it's interesting to note that lldb also provides an "SB API". This is a term for the python scripting interface. You can write a real debugger driver program entirely in Python, using the SB APIs to do the actual debugger work behind the scenes. These python APIs are more stable than the C++ APIs when you link directly against <code>LLDB.framework</code>, but they do occasionally still have to change if design decisions need to be revisited in the future. </p> <p>As an aside, if I remember correctly the first API change which made Xcode 4.6 not linkable against the svn lldb was committed in January or February. Some method had to change from taking an <code>int</code> to taking a <code>uint64_t</code> or something along those lines. These are C++ methods so the mangled name of the function changed and Xcode had to be recompiled against the new version of lldb to continue to link.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload