2011-04-22 5 views
0

나는 C++의 맥 응용 프로그램을 개발하고있어, 나는 다음과 같은 문제에 봉착 :Mac에서 C++ 용 메모리 디버거?

words(26222,0xa0b5c540) malloc: *** error for object 0x88dda04: 
incorrect checksum for freed object - object was probably modified after 
being freed. 
*** set a breakpoint in malloc_error_break to debug 

어쨌든, 나는 malloc_error_break에 중단 점을 설정하지만 메모리를 수정하고 어디는 말하지 않습니다.

메모리를 엉망으로 만드는 부분에 대한 의미있는 정보를 제공하는 메모리 디버거가 있습니까?

답변

5

Valgrind은 표준 오픈 소스 메모리 디버깅 도구입니다. :-)

+0

좋아, 지금 사용하고 있습니다. valgrind에 행 번호와 같은 관련 정보를 표시하는 디버그 기호를로드하는 방법을 알고 있습니까? 디버그 모드에서 xcode를 사용하고 있지만 xcode가 디버그 기호와 어떤 역할을하는지 확신 할 수 없습니다. – Damian

+1

찾았습니다. 활성 타겟에서 나는 DEBUG_INFORMATION_FORMAT = dwarf-with-dsym을 선택했습니다. – Damian