[lldb-dev] delay load symbols

Greg Clayton gclayton at apple.com
Tue Jan 22 09:42:06 PST 2013


On Jan 22, 2013, at 7:41 AM, Carlo Kok <ck at remobjects.com> wrote:

> I've noticed on windows the loading of the osx symbols is fairly slow (I copy them locally first of course). It takes 20 seconds before they're all loaded. Is there a way to delay load them, or if not, where can I look to improve the speed of how it's loaded?

LLDB will locate and load the object file and the debug symbols, but it parses them lazily. There shouldn't be too much work that goes on when just opening the files unless you have a query -- like a breakpoint by file + line, or by name -- that causes the symbols to be pulled in. Even then, we use very efficient accelerator tables when doing the lookups by name and by file + line.

One way you can limit the symbols that are pulled in is to specify a shared library when setting a breakpoint by file and line or by name. For example, if you know source file "foo.cpp" is part of a Bar.app, you can specify "Bar" as a module constraint when setting the breakpoint.

We do a lot of work to pull symbols in lazily and we try to parse only what we need when we need it. I would suggest you run some performance analysis before doing anything else.

Greg



More information about the lldb-dev mailing list