[lldb-dev] API for loading debug symbols

Mike Gulick via lldb-dev lldb-dev at lists.llvm.org
Fri Feb 26 15:06:09 PST 2016


On Thu, 25 Feb 2016 10:18:42 -0800
Greg Clayton <gclayton at apple.com> wrote:

> 
> Yes: use the "target symbols add" to do thing manually:
> 
> (lldb) target symbols add
> --shlib-name /path/to/my/workspace/bin/maci64/libA.dylib /archive/builds/1234/bin/maci64/libA.dylib.dSYM/Contents/Resources/DWARF/libA.dylib
> 

Thanks.  I tested this interactively, and it seems to work, although I
needed to modify the command:

(lldb) target symbols add /archive/builds/1234/bin/maci64/libA.dylib.dSYM/Contents/Resources/DWARF/libA.dylib

The '--shlib-name' option doesn't seem to be recognized, but '--shlib'
is.  However it produced the following error:

(lldb) target symbols add --shlib /path/to/my/workspace/bin/maci64/libA.dylib /archive/builds/1234/bin/maci64/libA.dylib.dSYM/Contents/Resources/DWARF/libA.dylib
error: specify either one or more paths to symbol files or using the --file option without arguments

It looks like the 'target symbols add' without the --shlib does work
correctly, as I can see the compilation unit and source code when I hit
breakpoints in the library.  I'm guessing it works by matching the UUID
of the new library with the UUID of the existing library.

> But, if you are on MacOSX, Spotlight should be locating these files
> for us and should allow us to find them without the need to do
> anything.

Spotlight is not configured to index these paths.  They are
autofs-mounted NFS volumes, so they don't appear by default.  The
archived builds are huge and there are lots of them, so its just
not practical to index them on each system.  That certainly would be
convenient if it worked though.

Thanks,
Mike



More information about the lldb-dev mailing list