[llvm-dev] Slow debugger starts of LLVM tools
Petr Penzin via llvm-dev
llvm-dev at lists.llvm.org
Wed Jan 9 19:16:12 PST 2019
I've ran into the same issue before. I tend to see it as a price we pay
for static linking, since it brings all the symbols debugger has to read
at the start time. Quick check on launching a tool (fort) in GDB (I
usually use it) and LLDB shows that LLDB starts much faster, but takes
time to set breakpoints and launch the application, so I think they are
roughly on the same page in terms of delays.
-Petr
On 1/9/19 6:17 PM, Zachary Turner via llvm-dev wrote:
> This is admittedly a longshot, but Can you check whether you
> experience unusually long run times with LLDB? If there’s something
> strange about tge binaries we generate, maybe lldb will exhibit some
> strangeness too and we can more easily profile it.
> On Wed, Jan 9, 2019 at 2:48 PM Shoaib Meenai via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> I don't know about the issues with running being slow, but using a
> GDB index greatly speeds up initial symbol loading. Compile with
> `-ggnu-pubnames` and link with `-Xlinker --gdb-index` and you
> should get significantly faster symbol load times. (I'd be curious
> to see if it helps with the issues with run being slow as well.)
>
> On 1/9/19, 2:07 PM, "llvm-dev on behalf of David Greene via
> llvm-dev" <llvm-dev-bounces at lists.llvm.org
> <mailto:llvm-dev-bounces at lists.llvm.org> on behalf of
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
>
> David Jones via llvm-dev <llvm-dev at lists.llvm.org
> <mailto:llvm-dev at lists.llvm.org>> writes:
>
> > GDB likes to load all symbols from shared libraries up
> front. And on
> > x86_64 your main executable is really just another shared
> library.
>
> Yes, but does gdb reload everything on each execution? Every
> time I
> execute "run" I see the same slow behavior. Loading the
> symbols for
> small tools like llvm-rc takes hardly any time at all (i.e. "file
> llvm-rc" is almost instantaneous). But executing it causes
> gdb to chew
> up CPU cycles for a while. Every time.
>
> -David
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=dqw6dQj2Nwimdo2WZ3P_n0WRZBWrrtNACdQfXzCB0Xc&s=psETNIS-WHrFqc7U8d3tg6i1UGx4-CHNUo0FO-FNQJg&e=
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190109/ce0c4105/attachment.html>
More information about the llvm-dev
mailing list