0

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

我正在使用他们的示例代码在此处完成教程示例,但是当尝试在生成的核心文件上运行 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)),但我能够在同一目录中生成更大尺寸的其他核心文件,所以不知道为什么这个是截断?

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

4

1 回答 1

1

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

于 2011-09-20T14:55:01.653 回答