[lldb-dev] Linux issues where I am not getting breakpoints...

Pavel Labath via lldb-dev lldb-dev at lists.llvm.org
Tue Apr 11 08:26:29 PDT 2017

On 11 April 2017 at 15:56, Greg Clayton <clayborg at gmail.com> wrote:

> On Apr 11, 2017, at 5:33 AM, Pavel Labath <labath at google.com> wrote:
> Are you sure this is not just an artifact of stdio buffering? I tried the
> same experiment, but I placed a real log statement, and I could see that
> all the LoadModuleAtAddress calls happen between the $T and $c packets in
> the gdb-remote packet sequence.
> The module loading should be synchronous, so I think the problem lies
> elsewhere.
> What is the nature of the breakpoint that is not getting hit? Can you
> provide a repro case? The only bug like this that I am aware of is that we
> fail to hit breakpoints in global constructors in shared libraries, but
> that hasn't worked even in 3.8..
> I unfortunately can't attach a repro case. I will be able to track this
> down, just need some pointers. I did notice that I wasn't able to hit
> breakpoints in global constructors though... Do we know why? On Mac, we get
> notified of shared libraries as they load so we never miss anything. Why
> are we not able to get the same thing with linux?
It looks like we are intercepting the library load too late, but I haven't
investigated yet how to fix it. It's definitely possible (this works fine
in gdb), but I don't know how, as the dynamic linker is still a big unknown
to me. FWIW, I think I'll be messing with the dynamic loader plugin
soon(ish), so I'll try to fix this then.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170411/b14c615f/attachment.html>

More information about the lldb-dev mailing list