Comprobar si se ha sobrescrito la memoria
Si se produce una infracción de acceso en una llamada a una función de manipulación de un montón, es posible que el programa haya dañado el montón. Un síntoma frecuente de esta situación sería:
Access Violation in _searchseg
La función _heapchk está disponible en las compilaciones de depuración y de versión (solo Windows NT) para comprobar la integridad del montón de la biblioteca en tiempo de ejecución. Puede usar _heapchk
de forma muy similar a la función AfxCheckMemory
para aislar una sobrescritura del montón, por ejemplo:
if(_heapchk()!=_HEAPOK)
DebugBreak();
Si alguna vez se produce un error en esta función, debe aislar en qué punto se ha dañado el montón.