찾다

 >  Q&A  >  본문

c++ - _CrtDumpMemoryLeaks 정보

방금 _CrtDumpMemoryLeaks 사용법을 테스트하기 위해 바이너리 트리를 작성했습니다. 코드는 다음과 같습니다. 중단점으로 추적한 결과 모든 노드가 삭제되었지만 출력 창에 여전히 프롬프트가 표시됩니다.

으아악

두 가지 질문이 있습니다.

  1. 이 간단한 코드에서 메모리 누수는 어디에 있습니까

  2. 에서 제공하는 프롬프트 정보에서 자신의 메모리 누수가 어디에 있는지 알아내는 방법, 어떤 기본 지식이 필요합니까? 더 구체적으로 설명하면 0x02EE2880 등의 주소를 빠르게 찾을 수 있는 방법은 무엇입니까? by _CrtDumpMemoryLeaks给出的提示信息得出自己内存泄漏之处, 需要那些基础知识? 再具体些, _CrtDumpMemoryLeaks给出的地址0x02EE2880等如何从代码中迅速找到, 毕竟写多点的话肯定不能手动找啊. 以及 09 00 00 00 00.... 코드에서 더 많은 것이 있으면 수동으로 검색할 수 없습니다. 그리고 09 00 00 00 00....는 무엇을 의미합니까?

ringa_leeringa_lee2750일 전783

모든 응답(1)나는 대답할 것이다

  • phpcn_u1582

    phpcn_u15822017-05-16 13:25:55

    _CrtDumpMemoryLeaks(); t가 아직 파괴되지 않은 경우

    으아아아

    이것으로 바꿔보세요

    프롬프트 메시지의 데이터를 보면 말씀하신 문자열 09 00 00 00이구요, 이것이 유출된 메모리 내용입니다

    으아아아

    바이트 0-3은 int이고 4-7 및 8-11은 각각 왼쪽 및 오른쪽 포인터이며 합계는 new Node(9)입니다.

    회신하다
    0
  • 취소회신하다