2013-02-28 4 views
0

GDB가> 코어 파일, GDB는 다음과 같은 오류를 제공하고 코어 파일 생성 충돌이 실행할 때 : 내가 어떤 참조를 발견하지 않았습니다GDB : malloc에 ​​() : 메모리 손상 (고속) :

Reading symbols from ./libtcmalloc_minimal.so.0... 
*** glibc detected *** gdb: malloc(): memory corruption (fast): 0x0000000000ec04a0 *** 

을 이 오류와 함께 gdb가 손상되었습니다. 아무도 이것에 빠지지 않았나요? 그렇다면 무엇을 할 수 있습니다.

GDB의 버전은 다음과 같습니다 GNU gdb를 (GDB) SUSE (6.8.50.20090302-1.5.18)

감사

+0

'-g'로 컴파일하십시오. 그것은 어떤 라인 번호에 대해 아무 말도하지 않습니까? 문제를 보여주는 최소한의 컴파일 가능한 코드를 보여줄 때주의해야합니까? – cnicutar

+0

나는 분석을 위해 제출할 스택 추적을 얻으려고 노력하면서 코드를 직접 컴파일하지 않습니다. 명확하게하기 위해, gdb를 실행하여 애플리케이션 자체가 실행될 때가 아니라 코어를 분석 할 때이 오류가 발생합니다. –

+0

프로그램과 코어 파일 이름을 인자로 사용하여 gdb를 실행 해 봅니다. 'gdb prog-file core-file' –

답변

0

그것에 대해 무엇을 할 수 있는지

모든 충돌 GDB 자체에서 버그입니다.

그러나 현재 GDB (사용자의 연령은 5 세)로 복제 할 수 없다면 아무도이 버그에 신경 쓰지 않을 것입니다.

그래서, download GDB의 현재 릴리스 (현재 7.5.1)를 빌드하십시오.

작동하는 경우 문제를 디버그하는 데 사용하십시오.

그래도 작동하지 않으면 GDB bugzilla에 버그를 신고하십시오. 당신이 당신의 프로그램에

ptr = (ptr_t*)malloc(sizeof(ptr_t)); 

를 호출의 결과로이 오류가 발생하면

0

, 그것은 누락 stdlib.h 헤더 원인 일 수 있습니다.