无法调查由Solaris上的GCC 4.6.x构建的程序生成的核心文件

时间:2011-12-27 01:29:38

标签: c debugging gcc gdb solaris

我们无法调试 C / C ++ 程序核心文件(该程序由GCC 4.6.1构建),即使使用调试版本,但是 file 命令显示调试信息和符号可用。

这个符号在gdb中甚至不具备人类可读性,即使配置了正确的调试可执行文件也是如此。任何人都可以对此进行任何照明吗?

顺便说一句,核心文件无法通过" mdb"进行分析。或" adb"无论是。每次启动 adb 时,都会生成一个新核心。

使用gdb进行调试会产生如下错误:

warning: Cannot initialize thread debugging library: Debugger service failed
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers

还尝试从源代码构建gdb,没有运气。添加" LD_PRELOAD = / usr / lib / libpthread.so.1"在启动gdb之前也没有工作(实际上该程序与 -lpthread 链接)。

1 个答案:

答案 0 :(得分:0)

要接收可用的核心文件,请确保在链接到可执行文件之前使用-g选项编译源代码。

要加载核心,请致电:

gdb executable-which-the-core-was-created-from core-file