2011-09-20 1 views
0

RHEL6.1에서 최신 버전의 dbxtool (Solaris Studio)을 사용하고 있습니다.DBX 코어 파일이 잘 렸습니까?

(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 

첫 번째 경고가 코어 파일에 관한 것입니다 : 생성 된 코어 파일에 dbxtool 실행하려고 할 때 자신의 예제 코드를 사용하여 튜토리얼 예를 here을 통해 작업 만하고있어

, 나는 다음을 얻을 잘린 (1765376 바이트 길이 (483328 만)되었습니다)해야하지만 큰 크기의 동일한 디렉토리에 다른 코어 파일을 생성 할 수 있으므로이 파일이 잘리는 이유를 모르십니까?

코어 크기 제한을 제거했지만 행운이없는 자습서 here도 읽었습니다.

답변

1

이것은 RH6의 알려진 dbx 문제입니다 (CR 7077948). 데이터 세그먼트의 메모리 크기가 elf 헤더의 파일 크기 (p_filesz)보다 큰 경우 코어 파일 크기가 잘못 계산됩니다. 이 문제점은 dbx 7.9에서 확인되고 수정되었습니다.

+0

감사합니다. Leonard. 하지만 필자는 최신 버전의 Solaris Studio 12.2를 사용하므로 DBX의 최신 버전을 포함하지 않아야합니까? 또한 DBX를 독립 실행 형으로 다운로드 할 수있는 곳은 어디에도 없습니다. Solaris Studio (얌에 표시되지 않음)의 일부로 만 다운로드 할 수 있습니다. – Rory

+0

Studio 12.2에는 dbx 7.8이 있습니다. 저는 dbx 7.9가 Oracle Solaris Studio 12.3 Beta에 있다고 생각합니다. – horsh