我正在尝试使用核心转储文件在Ubuntu 12.04(x86_64)LTS中调试程序。起初,“bt”命令是可以的,如下所示:
(gdb) bt
#0 0x00007f3b38e3f425 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f3b38e42b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007f3b38e7d39e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007f3b38e87b96 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007f3b3947dff6 in std::string::assign(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x000000000041cf5a in operator= (__str=..., this=<optimized out>) at /usr/include/c++/4.6/bits/basic_string.h:542
我想要查看libc.so.6中的符号,因此我使用以下命令安装了libc6-dbg:
sudo apt-get install libc6-dbg
但是安装后
libc6-dbg
我将会把下面的所有问题都解决掉:
我得到了以下错误信息:
(gdb) bt
#0 0x00007f3b38e3f425 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f3b38e42b8b in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x0000000000000003 in ?? ()
#3 0x00007fffca496804 in ?? ()
#4 0x000000000000000c in ?? ()
#5 0x00007f3b38f84eab in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#6 0x0000000000000002 in ?? ()
#7 0x0000000000000020 in ?? ()
#8 0x0000000000000000 in ?? ()
我尝试使用以下命令卸载lib6c-dbg:
sudo apt-get remove libc6-dbg
但是它却没有产生任何作用。
purge
,但它也没有意义。但还是谢谢你。 - user5232088