2011-12-12 23 views
8

Qt Creator를 사용하여 C++ 응용 프로그램을 개발하고 있으며 일부 메모리 누수를 추적하려고합니다.Qt Creator에서 'Analyze Memory'도구 사용

나는 these instructions *을 따라 갔으며 Valgrind는 내 우분투 컴퓨터에서 isntalled했습니다.

분석 메모리 섹션에서 응용 프로그램을 시작하고 중지 버튼을 클릭 한 후 Tool Analyze Memory finished, 928 issues found이라고 말합니다. 그러나 분석 섹션에는 결과가 나타나지 않으며 공백으로 남습니다.

내가 잘못 했나요? 메모리 분석 결과는 어디에서 찾을 수 있습니까?


* 혼동, 지침은 '릴리스'구성을 구축을 요청하지만,이 항목을 선택하면 메모리 분석 도구는 디버그 구성을 필요로한다는 Qt는에 경고가 발생합니다. 나는 두 가지 방법을 모두 시도했다.

답변

11

Qt Creator에서 확인했는데 제대로 작동합니다. Qt 4.7.4 및 Valgrind 3.7.0에서 버전 2.3.1을 사용하고 있습니다. 디버그 빌드 구성으로 dropsite example에서 테스트했습니다. 또한 CMake 기반 프로젝트 (-g 및 -O0 플래그가있는 compiled)를 사용하여 테스트했으며 작업도 수행했습니다. 시작 버튼 Valgrind Memory Analyzer 옆에 선택되어 있는지 확인하십시오. 같은 바에 화살표 아이콘이 있습니다. 그들 옆에는 깔때기 모양의 아이콘이 있습니다 (제 생각 엔). 그것을 클릭하고 관심있는 유형의 오류를 확인하십시오.

콘솔에서 Valgrind 도구를 사용하지 않으려는 경우 Valkyrie와 같은 다른 Valgrind GUIs이 있습니다.

편집 : Qt Creator를 버전 2.4.0rc1로 업데이트하고 CMake 프로젝트에서 확인했습니다. 또한 수 백 건의 이슈를보고하면서 아무런 결과도 보이지 않았습니다. 이 문제를 해결하려면 깔때기 모양 아이콘을 클릭 한 후 External errors을 확인하십시오.

EDIT2 : 최종 2.4.0 문제가 수정되었습니다.

+2

최신 Qt Creator 3.2.1에서 문제가 발생했습니다. +1 '외부 오류'. 그것은 나를 위해 일했다! 감사! – mchiasson

+0

그리고 여전히 3.6.0에 있습니다. 외부 오류 수정. 감사! – marmistrz

1

아무 잘못 없습니다. Valgrind 메뉴에서 필터 아이콘을 누르고 External Errors을 선택하십시오. 모든 문제가 표시됩니다. 그것들은 당신의 어플리케이션이 아니라 Qt 또는 다른 것과 관련이 있기 때문에 종종 무시할 수 있습니다.

X issues found은 총 문제 수를 나타냅니다. External Errors을 선택 취소하면 앱과 관련된 앱만 표시됩니다. 아무 것도 나타나지 않으면 Valgrind는 앱에서 메모리 누수를 감지하지 못했습니다.

+0

이것은 메모리 누수가 외부에서 발생할 때마다 발생합니까? – CaptainDaVinci

관련 문제