¿Alguien sabe dónde puedo encontrar una herramienta de detección de fugas de memoria para C++ que se puede ejecutar en línea de comandos o como un complemento de Eclipse en Windows y Linux. Me gustaría que sea fácil de usar. Preferiblemente uno que no sobrescribe new(), delete(), malloc() o free(). Algo como GDB si va a estar en la línea de comandos, pero no recuerdo que se use para detectar fugas de memoria. Si hay un marco de prueba de unidades que hace esto automáticamente, sería genial.G ++ herramienta de detección de fugas de memoria multiplataforma
Esta pregunta es similar a otras preguntas (como Memory leak detection under Windows for GNU C/C++) sin embargo, creo que es diferente porque las que piden soluciones específicas de Windows o tienen soluciones que preferiría evitar. Siento que estoy buscando algo un poco más específico aquí. Las sugerencias no tienen que cumplir todos los requisitos, pero la mayor cantidad posible sería agradable.
Gracias.
EDITAR: Dado que esto ha surgido, al "sobrescribir" me refiero a cualquier cosa que requiera #incluir una biblioteca o que de otra forma cambie cómo C++ compila mi código, si lo hace en tiempo de ejecución para que ejecute el código en un entorno diferente no afectará nada que sería genial. Además, desafortunadamente, no tengo una Mac, por lo que cualquier sugerencia es inútil, pero gracias por intentarlo. Mi computadora de escritorio ejecuta Windows (tengo instalado Linux pero mis monitores duales no funcionan) y prefiero no ejecutar Linux en una máquina virtual, aunque ciertamente es una opción. Mi computadora portátil funciona con Linux, así que puedo usar esa herramienta allí, aunque preferiría pegarme a mi escritorio ya que el espacio de la pantalla es excelente para mantener a la vista toda la documentación de diseño y los requisitos sin tener que moverse demasiado en el escritorio .
NOTA: Si bien puedo probar las respuestas, no marcaré una como aceptada hasta que haya intentado la sugerencia y sea satisfactoria.
EDIT2: No me preocupa la compatibilidad multiplataforma de mi código, es una aplicación de línea de comandos que utiliza solo las bibliotecas C++.
¿Quiere decir recompilar la aplicación de Windows en * nix usando Wine como la implementación de API? (Solo tengo curiosidad) – olliej
valgrind funciona para x86_64 así como para PowerPC, MIPS, ARM y otras arquitecturas. – LiraNuna
No, me refiero a ejecutar el binario de Windows, sin modificar, en Linux bajo Wine en valgrind. Es por eso que mencioné solo 32 bits: valgrind no puede ejecutar aplicaciones en vino con soporte de 64 bits, y Wine con soporte de 64 bits es experimental (en 64 bits, me refiero a aplicaciones de Windows de 64 bits) –