>

최근에 QT Creator로 C ++로 개발하고 있습니다. 모든 것이 잘되고 거의 응용 프로그램을 패키징하고 배포하는 시점에 있습니다. 그러나 분명히 릴리스 전에 모든 것이 올바르게되어 있는지 확인하는 것이 좋습니다. 테스트 단계에 있으며 약간의 메모리 문제가 있음을 알려줍니다. 진지한 것은 아니지만 나는 이것에 집착하고 싶다;-).

그래서 메모리 누수 감지 라이브러리를 사용하기로 결정했습니다. 우선 이 질문을 살펴 보았습니다. 비용 때문에 Purify와 Insure ++를 무시했습니다. 다른 누군가가 MSVC 컴파일러 사용을 제안하여 CRT 메모리 유효성 검사 루틴을 사용할 수 있습니다. QT Creator 내에서 디버거를 사용할 때의 영향으로 인해 지금까지 고려했지만 결정했습니다.

그런 다음 DUMA 에서 우연히 발견되었습니다. QT. 그러나 엄청난 양의 세그먼테이션 결함으로 인해 QT와 잘 어울리지 않는다는 것을 알았습니다. DUMA의 작동 방식을 알고 있지만 DUMA가 믿기 위해 시도한 것만 큼 문제를 일으키지 않았다고 확신합니다.

내가 시도한 또 다른 것은 슬프게도 google-performance-tools 였습니다. 필요한 종속성을 추가하더라도 QT와 함께 제공된 MinGW32 버전으로 컴파일 할 수 없습니다.

이 모든 것이 저의 질문으로 이어집니다. QT Creator 개발자가 프로그램에서 메모리 누수를 확인하려는 효과적인 솔루션이 있습니까?

감사합니다,


  • 답변 # 1

    개인적으로 valgrind/memcheck/callgrind/kcachegrind 콤보는 메모리 누수 및 성능 분석에 너무 강력합니다. 다른 전문 도구의 비용을 개인적으로 감당할 수 없기 때문에 무료 (무상) 인 것이 특히 좋습니다.

    현재 몇 년 동안 크로스 플랫폼 Qt 애플리케이션을 개발해 왔습니다. 개발하면서 기능과 기능을 테스트하려고 할 때 Windows와 Linux간에 앞뒤로 바운스합니다. 그러나 나는 항상 리눅스에서 성능 분석을 수행합니다. 내가 찾은 메모리 누수와 성능 문제는 항상 Qt 위에 개발자 팀이 주입 한 것입니다. 따라서 Linux에서 식별되지 않더라도 이러한 문제가 해결되면 이점은 Windows로 이어집니다.

    테스트 할 수있는 순수한 리눅스 빌드 환경을 설정하는 방법을 조사 할 것을 권한다. 아마도 가장 쉬운 해결책은 성능 분석을 수행 할 가상 머신을 만드는 것이다. 내가 선호하는 조합은 VirtualBox와 Ubuntu입니다.

  • 답변 # 2

    이 라이브러리를 Windows에 사용할 수 있습니까?

    Malloc에 ​​대한 후크 [gnu.org] 역 추적 [gnu.org] valgrind [valgrind.org]

  • 이전 jquery - Javascript를 통해 CSS를 통해 정확한 RGBa 값을 설정하는 방법은 무엇입니까?
  • 다음 android - 일정한 시간 간격 후에 특정 방법으로 전화