I am using LLDB-3.7 on Ubuntu Linux.
I have a core dump file and all shared libraries from my server but I want to investigate them on a dev box. But I fail to correctly load it in LLDB - it shows wrong stacks. I.e. I am looking for something equivalent to GDB commands “set solib-absolute-prefix” and “set solib-search-path”.
I tried to play with “target modules search-paths insert”, but I cannot use it if there is no target and I cannot load core after I have a target - not sure what this command is intended to do…
Now, what I really need to do - it is load core in my custom debugger that uses C++ API. Here I made some progress:
- Create target with NULL file name
- Load core using SBTarget::LoadCore()
- Manually load all executables - the initial a.out and all the shared libraries using SBTarget::AddModule() and SBTarget::SetModuleLoadAddress()
This kind of works, but there are two problems:
- How would I find the list of modules and addresses to load from the core file? Currently I did it by loading core in the debugger on the server, but this is not acceptable for production run…
- LLDB correctly prints stacks and resolves symbols, but I cannot disassembly any code - the ReadMemory retuns all zeroes from code addresses.
Any help would be greatly appreciated.