2011-09-20 98 views
0

我在RHEL6.1上使用最新版本的dbxtool(Solaris Studio)。截斷DBX核心文件?

我通過教程示例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

這是RH6上已知的dbx問題(CR 7077948)。如果數據段的內存大小大於elf標頭中的文件大小(p_filesz),則核心文件大小會被錯誤計算。這個問題已經在dbx 7.9中識別和修復。

+0

謝謝倫納德。但是我使用最新版本的Solaris Studio 12.2,所以不應該包含最新版本的DBX?我也無法看到任何地方將DBX作爲獨立下載,僅作爲Solaris Studio的一部分(它不會出現在yum中)。 – Rory

+0

Studio 12.2具有dbx 7.8。我認爲dbx 7.9存在於Oracle Solaris Studio 12.3 Beta中。 – horsh