分析共享对象的核心文件

testing:

[1]可执行文件中创build0分区,并使用优化(O2)和debugging符号编译,从而生成一个核心。

[2]共享对象帽子中创build0的分割符合优化(O2)和debugging符号编译,从而生成一个核心。

结果:

[首先]分析[1]产生的核心成功,在GDB / Totalview中可以看到迷恋的确切位置。

[第二]分析由[2]产生的核心没有成功,hex数字位置是暗恋的输出。

有人可以告诉我如何获得[2]成功?

用ldd检查你的共享对象是否可以找到。

如果不是,请尝试使用shell变量LD_LIBRARY_PATH来设置其路径,然后再次尝试gdb <executable> core

另一个选择是编辑config /etc/ld.so.conf并运行ldconfig。

解决了,我打开这样的核心文件:

  1. gdb核心文件名
  2. 文件位置的二进制文件

那么二进制符号被加载,但没有任何共享对象!

这样做:

  1. gdb -c core-file-name二进制位置

这导致二进制符号被加载,但也共享对象符号被加载以及!

谢谢您的帮助。