调试在main之前崩溃的Linux程序

时间:2015-03-04 07:11:07

标签: linux gdb disassembly objdump

程序在main之前崩溃。继承人gdb输出

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3732abb in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /opt/example/libstdc++.so.6
Missing separate debuginfos, use: debuginfo-install LynxService-0.10-10.x86_64 LynxService-0.6-6.x86_64 glibc-2.17-55.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.11.3-49.el7.x86_64 libcom_err-1.42.9-4.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 pcre-8.32-12.el7.x86_64 xz-libs-5.1.2-8alpha.el7.x86_64 zlib-1.2.7-13.el7.x86_64
(gdb) bt
#0  0x00007ffff3732abb in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /opt/example/libstdc++.so.6
#1  0x00007ffff4214f15 in ?? () from /opt/example/libNetwork.so
#2  0x00007ffff4215ef4 in ?? () from /opt/example/libNetwork.so
#3  0x00007ffff7deb503 in ?? () from /opt/example/ld-linux-x86-64.so.2
#4  0x00007ffff7ddd45a in ?? () from /opt/example/ld-linux-x86-64.so.2
#5  0x0000000000000001 in ?? ()
#6  0x00007fffffffe139 in ?? ()
#7  0x0000000000000000 in ?? ()

在gdb调用的多个实例上,堆栈帧的地址(即0x00007ffff4215ef4)保持不变。

** objdump -TC libNetwork.so **的输出不包含文本0x00007ffff4215ef4。

该程序已链接到许多依赖项,很难逐个删除链接库并进行测试。

由于堆栈帧地址始终相同,看起来这应该是可调试的,但不知道如何。

0 个答案:

没有答案