我正在用调试符号编译一个程序,该程序链接到一个共享库(liballegro),该库也用调试符号编译。当我尝试进入这个共享库的函数时,我看不到任何代码。
file myBin
mybin: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d4133ef127e81ffb007c4c17e10f4ddaefac6a0f, with debug_info, not stripped
file lib/liballegro-debug.so
liballegro-debug.so.5.2.2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dd75ca87e0ed86832ed02a1c40548a055ad4f551, with debug_info, not stripped
(gdb) info shared
From To Syms Read Shared Object Library
0x00007ffff7dd9b40 0x00007ffff7df5110 Yes (*) /lib64/ld-linux-x86-64.so.2
0x00007ffff7a5a0d0 0x00007ffff7b84591 Yes correct/path/to/liballegro-debug.so
0x00007ffff76ffd60 0x00007ffff7778eef Yes (*) /usr/lib/libm.so.6
0x00007ffff74e1640 0x00007ffff74eefb1 Yes (*) /usr/lib/libpthread.so.0
[...]
90 level->tileset.parent = al_load_bitmap(filename);
al_load_位图的源代码位于文件路径/to中/
src/bitmap\u io.c
这列在gdb的输出中
信息来源
并进入其中:
(gdb) si
0x0000555555555f00 in al_load_bitmap@plt ()
列表
comand什么也不显示。
如何调试此函数内部发生的事情?
非常感谢。