我想进入ld.so的代码,只要将它用在我的普通c
代码中。 我正在尝试在TUI模式下通过GDB编码stream程,您可以在遍历代码的同时看到源代码和程序集。
为此,我还从Ubuntu包pipe理器中安装了libc-dbg
binutils-source
包。 GDB可以findld.so
本身的debugging符号,我可以在使用si
的指令级进行操作,但是由于GDB无法findld.so
的源代码,因此无法在源代码级执行操作,并显示NO Source Available
。
我怎样才能让GDBfindld.so
的源码,以便我也可以看到ld.so
源代码中的哪一行正在被执行。
我正在使用Ubuntu 12.10
64位与GCC 4.8.2
如果libc的源代码可用,可以使用dir
命令将源代码添加到gdb的源代码路径: Source_Path
编辑:要调试libc相关的文件(在Ubuntu发行版),您将需要:
software-sources
源代码并检查“启用源代码库”)并运行apt-get source libc6
获取libc的源代码 export LD_LIBRARY_PATH=/usr/lib/debug
或LD_LIBRARY_PATH=/usr/lib/debug gdb <application>
dir directory_path_libc_source/stdio-common
在调试之前下载Glibc的源代码和路径与gdb相同。 检查这个Ubuntu的博客