para la ventana 10 que podría permitir a la PageHeap option in the GFlags Tool, esta herramienta se incluye como parte de la Debugging Tools for Windows.
Las opciones de Heap de página en GFlags le permiten seleccionar la verificación de montón estándar o la verificación de montón de página completa. Tenga cuidado, la verificación completa del montón utiliza una página completa de memoria para cada asignación, por lo que puede causar falta de memoria en el sistema.
Para activar la pila de página en GFlags:
• Para habilitar estándar de pila de página de verificación, la versión estándar va a escribir un patrón al final de cada asignación del montón y luego examinar el patrón cuando las asignaciones son liberados .
Para verificar todos los procesos utilizan:
gflags/r + hpa
gflags/k + hpa
para un solo uso proceso:
gflags/p/habilitar ImageFileName
• Para habilitar completa la verificación de pila de página para un proceso, esta opción coloca una página inaccesible al final de cada asignación para que el programa se detiene inmediatamente si se trata de accesos memoria más allá de la asignación, esto solo debe usarse en un único proceso debido al gran consumo de memoria.
gflags/i ImageFileName + hpa
gflags/p/activar ImageFileName/full
Los dos comandos anteriores son intercambiables.
Nota: Todas las configuraciones de montón de página mencionadas anteriormente son configuraciones de todo el sistema almacenadas en el registro (excepto/k) y permanecerán vigentes hasta que las modifique. La configuración/k es una configuración de indicador Kernel establecida para esta sesión y se perderá cuando Windows se apaga
Otra herramienta útil es Application Verifier, pero esto no forma parte de las herramientas de depuración para Windows, sino que está incluido en el Windows Software Development Kit (SDK).
El idioma es C/C++ mixto. La dirección dañada es diferente en cada sesión de depuración, así que supongo que no es posible utilizar un punto de interrupción de datos. – Danne
Desafortunadamente, tienes razón. En estos casos, mi enfoque es #define libre/eliminar para que no sea nada. Si el problema desaparece, defino malloc/new/free/delete en una función que registra cada llamada, para encontrar eliminaciones o eliminaciones duplicadas sin una asignación. – Timores