我如何包含/查看源代码malloc
in gdb?
我想一步步执行gdb
,并步入malloc.c
调用任何 malloc 函数时的源代码。
目前 gdb 所说的是:malloc.c: No such file or directory.
This这里的家伙面临着同样的问题,但他们没有提到解决方案,即如何实际进入 malloc 的源代码。
I am on Ubuntu server 14.04
,并且我已经尝试安装以下内容:libc6-dbg
, libc6-dev
, and libc6-dbgsym
。
我什至不知道这些软件包之一是否有帮助,但是安装libc-dbgsym
给我以下错误:
dpkg: error processing archive /var/cache/apt/archives/libc6-dbgsym_2.19-0ubuntu6.6_amd64.ddeb (--unpack): trying to overwrite
'/usr/lib/debug/usr/lib/x86_64-linux-gnu/audit/sotruss-lib.so', which
is also in package libc6-dbg:amd64 2.19-0ubuntu6.6 dpkg-deb: error:
subprocess paste was killed by signal (Broken pipe)
以下内容对我有用。不确定是否有更好的方法。
- 安装 libc6-dbg (您已经完成):
sudo apt-get install libc6-dbg
- 安装eglibc-source包(ubuntu实际上使用eglibc):
sudo apt-get install eglibc-source
.
- 解压安装在 /usr/src/glibc 中的 tar 文件:
/usr/src/glibc $ sudo tar xvf eglibc-2.19.tar.xz
- 启动 gdb 并添加 malloc 源的路径:
(gdb) dir /usr/src/glibc/eglibc-2.19/malloc
(gdb) n
13 字符 *c = malloc(100);
(gdb) s
__GI___libc_malloc(字节=100)位于 malloc.c:2876 2876
{
(gdb)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)