DBX核心文件被截断了?

时间:2011-09-20 11:19:02

标签: c++ linux debugging dbx

我在RHEL6.1上使用最新版本的dbxtool(Solaris Studio)。

我正在使用他们的示例代码完成教程示例here,但是当尝试在生成的核心文件上运行dbxtool时,我得到以下内容:

(dbx) cd /users/rory/Desktop/debug_tutorial
(dbx) debug /users/rory/Desktop/debug_tutorial/a.out core.a.out.10665
Reading a.out
dbx: warning: The corefile was truncated.
It should have been 1765376 bytes long (is only 483328)
Because of this, some functionality will be missing from dbx.
(See `help core')
core file header read successfully
Reading ld-linux-x86-64.so.2
Reading libstdc++.so.6
Reading libm.so.6
Reading libgcc_s.so.1
Reading libc.so.6
program terminated by signal SEGV (Segmentation fault)
dbx: core file read error: address 0x3faff579bc not available
dbx: attempt to fetch registers failed - stack corrupted

第一个警告是关于被截断的核心文件(应该是1765376字节长(仅为483328)),但我能够在同一目录中生成更大的其他核心文件,所以不知道为什么这个一个被截断了?

我已经阅读了关于删除核心大小文件限制的教程here,但没有运气。

1 个答案:

答案 0 :(得分:1)

这是RH6上已知的dbx问题(CR 7077948)。如果数据段的内存大小大于elf头中的文件大小(p_filesz),则核心文件大小计算错误。已在dbx 7.9中识别并修复此问题。