ein*_*lum 3 source debugging glibc gdb source-code
我正在调试这个引发异常的程序。这使得我的调试器寻找一些源代码,例如../sysdeps/unix/sysv/linux/raise.c- 但未能找到它。
现在,我意识到我没有必要拥有这些资源,但我仍然希望它们在那里。
我正在开发 Devuan Chimaera GNU/Linux 系统。
对我来说,让这些源可用并可由 gdb 定位的最简单的方法是什么?
最简单的方法是将包源代码提取到某处:转到适当的目录,然后运行
\napt source glibc\nRun Code Online (Sandbox Code Playgroud)\n在 中gdb,使用directory命令将相应的目录添加到源路径中。
您可能还需要分离的调试符号;我不知道 Devuan 是否提供了一般的调试符号包(dbgsympackages),但我看到它libc6-dbg具有相同的目的:
sudo apt install libc6-dbg\nRun Code Online (Sandbox Code Playgroud)\n这里\xe2\x80\x99是一个示例gdb会话:
$ gdb ls\n...\n(gdb) directory ~/Debian/glibc\nSource directories searched: /home/steve/Debian/glibc:$cdir:$cwd\n(gdb) break malloc\nBreakpoint 1 at 0x46c8\n(gdb) run\nStarting program: /bin/ls \n\nBreakpoint 1, malloc (n=1441) at dl-minimal.c:50\n50 if (alloc_end == 0)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2534 次 |
| 最近记录: |