2013-12-12 1 views
3

이 궁금 (NOT 진짜 Valgrind의 출력!) :Valgrind가 유출 된 메모리의 값을 표시 할 수 있습니까? 같은 누수 된 메모리의 값을 보여 Valgrind의의 가능성이있는 경우

==15060== 12 bytes (***HERE***) in 1 blocks are definitely lost in loss record 1 of 1 
==15060== at 0x4C2AAA4: operator new[](unsigned long) (in vgpreload_memcheck-amd64-linux.so) 
==15060== by 0x5DC8236: char* allocate(unsigned long, char const*, long) (mem.h:149) 
==15060== by 0x5EAC286: trim(char const*, nap_compiler const*) (file.cpp:107) 

***HERE*** 문자열의 정확한 값을 보여줍니다 어디 그 유출되고있다. 나는 문서 전체를 조사했지만 아무 것도 발견하지 못했습니다. 어쩌면 도구에 익숙한 사람이이를 달성하기 위해해야 ​​할 일을 지적 할 수 있습니다! (나는 그것을 스스로 컴파일하는 것을 두려워하지 않는다 :))

+0

Tehnically를 참조하는 것이 가능해야한다. Valgrind (Memcheck)는 힙 값을 저장하여 모든 힙 액세스를 기억합니다. 나는 도구를 개발하는 것이 비교적 쉽다는 것을 이해했다. (이 경우 Memcheck와 같다.) Valgrind를 다시 컴파일하는 것을 두려워하지 않으면 Memcheck를 수정하여 다음과 같은 값을 표시 할 수 있습니다. 그러나 오류를 수정하는 것보다 시간이 많이 걸릴 것입니다. ;) – Skaarjasaurus

+0

대안은 파일에 누수를 덤프하는 것이고, 누수가 더 큰 경우 더 잘 작동합니다. –

답변