Open noodlecollie opened 1 year ago
Why do you think this is a debugger issue?
I'd exhausted a number of other options. I've tried rebuilding, building old commits where the breakpoints definitely used to work (they now do not), even reinstalling my entire system. If possible, I'd like to at least try and get some information from the debugger about why it can't load these particular libraries, because currently I have nothing more to go on.
Recently, someone else commented on my SO post saying "I think I have the same problem, but only for lldb-vscode on llvm 16.0.6", so I guess I'm not the only one having this problem.
Still doesn't mean it's a debugger problem. Have you made sure your symbol is used anywhere? Does it actually get called? Is your library on the loaded modules list? Is the debug info for you source file actually there? (you can use e.g. dwarfdump or llvm-dwarfdump to dump debug info in text form, then search it for file names and function names).
Have you made sure your symbol is used anywhere? Does it actually get called?
Absolutely. For context, breakpoints used to work 100% fine, until one day when I was developing something and did an incremental build, they stopped working. I reverted the change and they still didn't work, and nothing I've done since has fixed them, even reverting to far older commits.
Is your library on the loaded modules list?
It is not, even though the application is definitely using it. All the other libraries used by the application are listed.
Is the debug info for you source file actually there?
Yes. dwarfdump
lists everything I would expect it to.
OS: Kubuntu 23.04 VSCode version: (Codium) 1.80.0, Release: 23188 CodeLLDB version: v1.9.2 (
version
command reportslldb version 16.0.0-custom
) Compiler: GCC (Ubuntu 12.3.0-1ubuntu1~23.04) 12.3.0 Debuggee: Executable with shared libraries,x86_64-linux-gnu
The other day, between ordinary builds when iterating on development, breakpoints stopped functioning in just two of my shared libraries. I initially made a StackOverflow post about the issue (https://stackoverflow.com/questions/76948118/lldb-cannot-find-breakpoint-locations-in-library-with-debug-info-present), and have since managed to establish that these libraries are not included in the output of
image list
. I have no idea why this, but I suspect it's something to do with the debugger.Both of the libraries do include debug info as confirmed by running
file
, and were debuggable without issue until whatever it is happened here.I have tried the following to resolve this issue, without success:
A verbose log of me beginning a debugging session and locating two different symbols is below. The commands I use to test are:
image lookup -f cl_cmds.c -l 26
- this is a symbol in one of the libraries that does get correctly loaded.image lookup -f hud_crosshair.cpp -l 50
- this is a symbol in a different library, that I was trying to debug at the time, which is no longer found.Verbose log