2017-09-07 1 views
0

저는 MnC 소프트웨어 회사에서 일합니다. 내 임무는 소프트웨어에서 메모리 누출을 수정하는 것입니다. valgrind memcheck 도구를 사용하고 있습니다. 나는 'valgrind --leak-check = yes --log-file = vg.log'를 사용했습니다. 나는 valgrind가 vg.log에서 다른 크기로 같은 메모리 누수 횟수 배수를 보이고 vg.log 파일에 2 백만 라인이 있음을 발견했습니다. 결과적으로 어느 누수가 가장 큰 크기인지 식별 ​​할 수 없습니다. 어느 것이 가장 큰 누수인지 의미합니다. 이 문제를 해결할 생각이 있습니까? 같은 메모리 누수 vg.log 한 번 총계 크기가 와야합니다. 나는 valgrind의 val3.12.0 버전을 사용하고 있습니다. Red Hat Enterprise Linux Workstation 6.5를 사용하고 있습니다.로그 파일에 동일한 메모리 누수가 여러 번 표시되는 valgrind

+0

누수가 누출되면 크기에 관계없이 누설이 모두 고정되어야합니다. – dlmeetei

답변

0

사실 valgrind에는 유사한 유사한 메모리 누수를 처리하는 데 사용할 수있는 --num-callers 옵션이 있습니다.

0

누수가 증가하는 순서로 덤프됩니다. 따라서 마지막 누출이 가장 큰 것입니다. 각 누출 설명

  • XX는 해당 호출 스택을
  • B의 누출의 전체 크기입니다 호출 스택에서 누수가 횟수입니다
    XX bytes in B blocks are definitely lost in loss record R of N 
    

    같이 보입니다. 예를 들어, 총 4 개 개의 블록 4096 바이트 인 경우 통화가 4 번 발생하는 것을 의미하고, 각 누출 1024 바이트

  • R은
  • N 다른 누설 호출 스택
  • 을 총 개수 누출의 실행 횟수이다
관련 문제