[lldb-dev] Setting shared library search paths and core files
Jim Ingham via lldb-dev
lldb-dev at lists.llvm.org
Mon May 8 11:47:47 PDT 2017
IIUC Linux doesn't include the system libraries in the core files, makes them much smaller, but also makes reconstructing them a bit more work.
Jim
> On May 8, 2017, at 11:34 AM, John Lindal via lldb-dev <lldb-dev at lists.llvm.org> wrote:
>
> I regularly load core files on OSX, and it seems to work fine. Is Linux dramatically different?
>
> John
>
>> On May 5, 2017, at 2:43 AM, Pavel Labath via lldb-dev <lldb-dev at lists.llvm.org> wrote:
>>
>> Core file debugging is not that well supported right now. I have made
>> a couple of fixes from time to time, mainly because I see it as a
>> possibility for testing other parts of the debugger, but I don't think
>> it get's much use and testing (on linux anyway).
>>
>> I *think* you might be able to get it working by adding paths to all
>> libraries included in the core dump into your target.exec-search-paths
>> (so something like /sysroot/lib, /sysroot/usr/lib, ...), but I don't
>> guarantee anything. the --sysroot thingy sounds like the most
>> straight-forward interface, so it would be awesome if you could get
>> that working.
>>
>>
>>
>> On 4 May 2017 at 18:57, Scott Smith via lldb-dev
>> <lldb-dev at lists.llvm.org> wrote:
>>> Before I dive into the code to see if there's a bug, I wanted to see if I
>>> was just doing it wrong.
>>>
>>> I have an application with a different libc, etc than the machine I'm
>>> running the debugger on. The application also has a bunch of libraries that
>>> simply don't exist in the normal location on my dev machine. I do have
>>> everything extracted in a subdirectory with proper relative paths (i.e.
>>> my_extract/lib/..., my_extract/opt/..., my_extract/usr/..., etc).
>>>
>>> With gdb, I'd do something like:
>>>
>>> set sysroot .
>>> file opt/my_cool_program
>>> core my_broken_coredump
>>>
>>> then everything would work.
>>>
>>> I've tried
>>> (http://lists.llvm.org/pipermail/lldb-dev/2016-January/009233.html):
>>>
>>> platform select --sysroot . host (also tried remote-linux, that didn't work
>>> either)
>>> target create opt/my_cool_program --core my_broken_coredump
>>>
>>> or based on:
>>> http://lists.llvm.org/pipermail/lldb-dev/2016-January/009235.html
>>>
>>> setting set target.exec-search-paths .
>>> target create opt/my_cool_program --core my_broken_coredump
>>>
>>> or, based on:
>>> http://lists.llvm.org/pipermail/lldb-dev/2016-January/009236.html
>>>
>>> target create opt/my_cool_program --core my_broken_coredump
>>> target modules search-paths add /lib ./lib
>>> ...
>>>
>>> None of them seem to work. I tried lldb-3.9 in case any recent changes
>>> affected this functionality.
>>>
>>> Is there a more correct way to do this? Or does this seem like a bug?
>>>
>>>
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list