2010-03-19 2 views
4

난 메모리 누수 등 검사에 대해 물어 이전 게시물을했다, 나는 리눅스에서 터미널과 익숙한 않네 말 했는가하지만 누군가는 내가 그럭저럭 한이해 Valgrind의 출력

Valgrind의 쉽게했다 나에게 말했다 그것은 등등을 실행하지만 출력이 무엇을 의미하는지 확실하지 않습니다. 훑어 보면서, 모두 나에게 좋게 보이지만 가능하다면 확인을 위해 포크를 경험하기 전에 그것을 실행하고 싶습니다. 출력은 다음과 같습니다.

^C==2420== 
==2420== HEAP SUMMARY: 
==2420==  in use at exit: 2,240 bytes in 81 blocks 
==2420== total heap usage: 82 allocs, 1 frees, 2,592 bytes allocated 
==2420== 
==2420== LEAK SUMMARY: 
==2420== definitely lost: 0 bytes in 0 blocks 
==2420== indirectly lost: 0 bytes in 0 blocks 
==2420==  possibly lost: 0 bytes in 0 blocks 
==2420== still reachable: 2,240 bytes in 81 blocks 
==2420==   suppressed: 0 bytes in 0 blocks 
==2420== Reachable blocks (those to which a pointer was found) are not shown. 
==2420== To see them, rerun with: --leak-check=full --show-reachable=yes 
==2420== 
==2420== For counts of detected and suppressed errors, rerun with: -v 
==2420== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 13 from 8) 

모두 괜찮습니까? 나에 관한 유일한 것은 여전히 ​​도달 할 수있는 부분입니다. 그 확인은?

감사합니다 모두

답변

6

나는 4 장 "Interpreting Memcheck's output"에 특히주의를 기울여서 Valgrind Quick Start을 읽은 다음 FAQ을 살펴 보시기 바랍니다.


는 그 후, 나는 당신이 기술을 해결하는 문제를 개선하고 더 나은 질문이 좋은 답 보상을 StackOverflow 같은 커뮤니티 포럼에서 지원, 요청 개선 How to Ask Questions The Smart Way (일명 스마트 질문) 읽기에서 이익을 얻을 수 생각합니다.

이것은 모욕적이거나 개인적인 공격이 아니며 더 나은 질문을 할 수있는 방법에 대한 제안이므로보다 나은 답변을 얻을 수 있습니다. 또한 과정에서 자신의 기본 질문에보다 자주 답하는 방법을 배우고 전반적인 노력을 가속화합니다. 행운을 빕니다.

+0

또는 짧은 대답 - RTFM – pm100

+4

원본 포스터가 설명서의 위치를 ​​모르는 경우 그러한 대답은 쓸모가 없습니다. 나는 특히 사람들이 적어도 질문을 잘 설명하려고 노력했기 때문에 사람들에게 의심의 이익을주기 위해 노력한다. 초보자 인 경우 기술적 인 문서가 압도적으로 많을 수 있습니다. 특히 메모리 관리와 같이 잠재적으로 복잡 할 수있는 것이 있습니다. 따라서 필요한 모든 문서는 적절한 문서를 향한 것입니다. – mctylr

7

출력 붙여 넣은 쇼 :

== 2420 == 총 힙 사용 : 82 allocs, 1 개 해방,

을 할당 2,592 바이트 ...

== 2420 == 여전히 도달 할 수 있습니다 : 2,240 바이트 (81 블록)

82 할당 및 하나만 사용 가능하므로 결국 힙에 81 개의 블록이 도달 할 수 있습니다. Valgrind FAQ 상태에서는 코드가 일부 메모리 풀 할당자를 사용하므로 사용하지 않는 즉시 메모리를 해제하지 않고 나중에 사용하기 위해 메모리를 유지하거나 실제 메모리 누수가 발생할 수 있음을 나타낼 수 있습니다. 링크의 단계에 따라 STL에서 메모리 캐싱을 사용했는지 확인하십시오.

+0

팁 – sbsp

+0

을 보내 주셔서 감사합니다. P – laginimaineb

+1

질문에 C 태그가 붙어 있으므로 C++ STL 또는 String 클래스가 sbsp에 문제가되지 않는다고 가정합니다. 좋은 대답. – mctylr