[lldb-dev] Why can't I break on an address resulting in unresolved?

Greg Clayton via lldb-dev lldb-dev at lists.llvm.org
Fri Jan 28 16:25:10 PST 2022


You can set breakpoints at addresses prior to running a process. ASLR will shift shared libraries around each time you run, so it really isn't safe to set these. If you do disable ASLR, and are able to debug, just reverse your statement and do the "process launch" first:

process launch --stop-at-entry --disable-aslr true
br s -a 0x7fff5fc01031
br s -a 0x7fff5fc01271
br s -a 0x7fff5fc05bdc


Why is this? These addresses mean nothing before the process is launched since what you are specifying is a "load address". Before you run each shared library hasn't be loaded at a specific location, which means if you did a "br s -a 0x1000", this address could match every shared library since each shared library could have a "file address" values of 0x1000. 

> On Nov 17, 2021, at 4:23 AM, Pi Pony via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Hello,
> 
> why does lldb can't break on an address? What does it say when it says unresolved? And how can I fix it?
> 
> Thanks in advance
> 
> See this for more details: https://bugs.llvm.org/show_bug.cgi?id=22323 <https://bugs.llvm.org/show_bug.cgi?id=22323>_______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

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


More information about the lldb-dev mailing list