멤체크로 메모리 누수 감지
Valgrind의 도구 제품군에 있는 Memcheck 도구를 사용하면 애플리케이션의 메모리 관리와 관련된 문제를 감지할 수 있습니다. 이 도구를 GDB 디버거와 함께 사용하세요. 문제가 감지되면 애플리케이션이 중단되고 디버깅할 수 있습니다.
참고: 멤체크는 Linux에서 로컬로 설치하여 실행할 수 있습니다. 모든 컴퓨터에서 원격 호스트 또는 장치에서 실행할 수 있습니다. Windows에서는 Heob 힙 옵저버를 사용하여 비슷한 결과를 얻을 수 있습니다.
Valgrind 도구를 다운로드하여 설치한 후 Qt Creator 에서 Memcheck를 사용할 수 있습니다.
애플리케이션에서 메모리 누수를 감지하려면
- Projects 모드로 이동하여 디버그 빌드 구성을 선택합니다.
- 모드 선택기에서 Debug > Memcheck 을 선택합니다.

을 선택하여 애플리케이션을 시작합니다.- 애플리케이션을 사용하여 분석합니다.
을 선택하여 Memory Issues 에서 분석 결과를 확인합니다.
메모리 문제 보기
애플리케이션이 실행되는 동안 멤체크는 다음을 수행합니다:
- 메모리의 모든 읽기 및 쓰기를 확인합니다.
- 메모리를 할당 또는 해제하거나 메모리 블록을 생성 또는 삭제하는 호출을 가로챕니다.
멤체크를 중지하면 결과를 확인할 수 있습니다.
메모리 누수가 발생한 위치와 그 원인을 보여주는 스택 추적을 보려면 줄을 선택하세요.
데이터를 수집하는 대신
을 선택하여 XML 형식의 외부 로그 파일을 Memcheck 보기에 로드할 수 있습니다.
함수에 대한 자세한 정보를 보려면 마우스를 행 위로 이동합니다.
행 사이를 이동하려면
또는
을 선택합니다.
결과를 필터링하려면
을 선택한 다음 보기에 표시할 이슈 유형을 선택합니다. 확실하고 가능한 메모리 누수, 초기화되지 않은 값, free() 에 대한 잘못된 호출 및 외부 오류를 보고 숨길 수 있습니다.
멤체크 사용에 대한 자세한 내용은 Valgrind 설명서에서 멤체크 출력 해석하기를 참조하세요.
또한 방법: 분석, 프로파일링 함수 실행, 외부 애플리케이션에서 Valgrind 도구 실행, 프로젝트에 대한 Valgrind 설정 지정, 분석기, Valgrind Callgrind, Valgrind Memcheck 및 코드 분석을참조하세요 .
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.