make gdb load a shared library from a specific path

前端 未结 1 1984
遥遥无期
遥遥无期 2020-12-11 17:13

I got a core while executing an application and I saved the executable, the corefile and a shared library which the application use in /tmp to check them later.

相关标签:
1条回答
  • 2020-12-11 17:29

    The simplest solution is to temporarily restore /opt/mydir/lib/libmylib.so.0 to the copy that was used at crash time (i.e. the one now in /tmp), analyse the core, then restore back the new version.

    If you don't want to do that, set solib-search-path and set sysroot are your friends.

    Note that you must set both before loading the core. This sequence should work:

    (gdb) set sysroot /no/such/file
    (gdb) set solib-search-path /tmp:/usr/lib:/lib
    (gdb) core /tmp/core
    
    0 讨论(0)
提交回复
热议问题