c++ visual-studio-2010 memory-leaks visual-leak-detector

c++ - "La aplicación no pudo iniciarse correctamente" después de incluir vld.h



visual-studio-2010 memory-leaks (5)

Otros todavía podrían entrar en el tema;
Una posible solución es instalar VLD versión 2.5.1, que puede descargarse desde github: https://github.com/KindDragon/vld/releases/tag/v2.5.1

Trae la solución explicada anteriormente, incluye dbghelp.dll

Incluí vld.h, vld.lib y vld_x86.dll en mi proyecto Win32 con visual studio 2010. Se construye correctamente pero cuando ejecuto, se bloquea con este mensaje:

"The application was unable to start correctly (0xc0150002). Click OK to close the application."

Lo ejecuto con Dependency Walker pero muestra el error de lado a lado de la siguiente manera:

Error: The Side-by-Side configuration information for "D:/project/../debug/VLD_X86.DLL" contains errors. The application has failed to start because its side-by-side configuration is incorrect.)

He intentado varias formas, incluyendo juguetear con el manifiesto como se sugiere aquí:

https://vld.codeplex.com/discussions/360243

Solo se ejecuta correctamente si comenté la siguiente línea en vld.h

// Force a symbolic reference to the global VisualLeakDetector class object from // the DLL. This ensures that the DLL is loaded and linked with the program, // even if no code otherwise imports any of the DLL''s exports. //#pragma comment(linker, "/include:__imp_?g_vld@@3VVisualLeakDetector@@A")

Sin embargo, si comenté esa línea, el vld no genera nada en absoluto (al igual que sin integración de vld)

¿Alguien tiene este problema antes? Cualquier sugerencia será apreciada, gracias de antemano!


Recibí tal error cuando intenté ejecutar un proyecto justo después de instalar vld. Una solución para mí fue volver a iniciar sesión. Debido a que el instalador vld agrega nuevas rutas a PATH y VS no las ve sin volver a iniciar sesión. De lo contrario, puede usar una solución para copiar los archivos dbghelp.dll y .manifest.


SI ESTÁ UTILIZANDO ESTUDIOS VISUALES: -La solución más simple si no ha estado jugando con las propiedades de su proyecto en la inclusión, las secciones del vinculador aseguran que no haya agregado manualmente VLD. En lugar de eso, borre las inclusiones que hizo aquí y guarde su proyecto. - Ciérrelo, luego instale el VLD más reciente y creará automáticamente la herencia principal incluida para sus proyectos de estudios visuales, incluidas las rutas del entorno.



Tuve este problema (este mensaje de error), también. En mi caso, el vld_x86.dll, muy probablemente en una versión diferente a la esperada, fue preinstalado y registrado por algún otro software. (parece que a todos les gusta VLD) Por lo tanto, se cargó en lugar de vld_x86.dll en la ruta en la que se creó VLD. Desregistrar la DLL extraña solucionó el problema.

Por lo tanto, es posible que desee comprobar la salida para cargar DLL desde rutas exóticas.