누구나 C++ 용 메모리 누수 탐지 도구를 찾을 수 있습니다.이 도구는 명령 줄에서 실행하거나 Windows 및 Linux에서 Eclipse 플러그인으로 실행할 수 있습니다. 사용하기 쉽도록하고 싶습니다. 가급적이면 new(), delete(), malloc() 또는 free()를 덮어 쓰지 않는 것이 좋습니다. 커맨드 라인에 GDB와 같은 것이 있지만 메모리 누수를 탐지하는데 사용된다는 것을 기억하지 못합니다. 이 작업을 자동으로 수행하는 단위 테스팅 프레임 워크가 있다면, 그렇게 좋을 것입니다.G ++ 다중 플랫폼 메모리 누수 감지 도구
이 질문은 다른 질문 (예 : Memory leak detection under Windows for GNU C/C++)과 비슷하지만, 특정 질문에 답변하지 않았거나 해결 방법이 필요하기 때문에 다른 질문이라고 생각합니다. 나는 여기서 좀 더 구체적인 것을 찾고 있다고 느낍니다. 제안은 모든 요구 사항을 충족시킬 필요는 없지만되도록 많은 사람들이 좋을 것입니다.
감사합니다.
EDIT : "덮어 쓰기"때문에 라이브러리를 #include해야하거나 그렇지 않으면 런타임시 코드를 컴파일하는 방법을 변경해야하는 모든 것을 의미합니다. 다른 환경은 큰 일에 영향을 미치지 않습니다. 또한 유감스럽게도 저는 Mac이 없기 때문에 그 어떤 제안도 도움이되지 않지만 시도해 주셔서 감사합니다. 내 데스크톱은 Windows를 실행 (Linux를 설치했지만 듀얼 모니터가 작동하지 않음)하고 VM에서 Linux를 실행하지는 않지만 확실한 옵션입니다. 내 랩톱은 리눅스를 사용하기 때문에 데스크탑에서 너무 많이 움직이지 않아도 모든 디자인 문서와 요구 사항을 유지하는 데 탁월한 화면 공간을 제공하므로 필자의 데스크톱을 고집하는 것을 선호하지만 필자는이 도구를 사용할 수 있습니다. .
참고 : 답변을 시도 할 수도 있지만 제안을 시도하고 만족스럽지 않으면 받아 들일 수 없습니다.
EDIT2 : 내 코드의 플랫폼 간 호환성에 대해 걱정할 필요가 없습니다. C++ 라이브러리 만 사용하는 명령 줄 응용 프로그램입니다.
Wine을 API 구현으로 사용하여 * nix에서 Windows 응용 프로그램을 다시 컴파일한다는 뜻입니까? (난 그냥 궁금해서) – olliej
valgrind는 x86_64뿐만 아니라 PowerPC, MIPS, ARM 및 다른 아키텍처에서도 작동합니다. – LiraNuna
아니, 나는 당신의 윈도우 바이너리를 수정되지 않은 상태로 리눅스에서 valgrind 아래의 와인 자체로 실행한다는 것을 의미한다. 이것이 바로 32 비트 만 언급 한 이유입니다. valgrind는 64 비트를 지원하는 와인에서는 앱을 실행할 수 없으며 64 비트를 지원하는 와인은 실험적입니다 (64 비트는 64 비트 Windows 앱을 실행 함) –