Tengo un código en MS VC++ 6.0 que estoy depurando. Por alguna razón, en este cierto punto en el que estoy tratando de eliminar alguna memoria asignada dinámicamente, se rompe y aparece un mensaje emergente que dice "User Breakpoint llamado desde el código en blah blah". Aparece entonces la ventana Desarmado y veoPunto de interrupción del usuario de ninguna parte
*memory address* int 3
lo curioso es, no hay ningún lugar en el código que estoy llamando una instrucción de montaje como este (creo asm int 3 es un comando break hardware para x86?) ..
lo podría estar causando esto?
EDITAR: RESPUESTA: Mi código era "caminar desde el final" de una matriz, pero solo en las ubicaciones marcadas por Visual Studio depurar con 0xFDFDFDFD, que se llama valla NoMan'sLand .. Creo que también se llama Error uno por uno ... Esta matriz no estaba relacionada con el punto donde estaba liberando la memoria cuando ocurrió el error. Lo que hacía más difícil de detectar .. :(
Simplemente curioso: ¿lo encontraste siguiendo las instrucciones de ensamblaje para descubrir lo que no le gustaba al montón de depuración o ayudaba alguna otra herramienta/técnica? –
Miré este sitio http://www.highprogrammer.com/alan/windev/visualstudio.html que decía: que 0xFDFDFDFD era un valor de memoria que el depurador MSVC++ usaba para indicar un límite en una matriz para detectar off-by- un error ... Verifiqué mis punteros y solo hice un paso a través de las iteraciones en el ... – krebstar
código fuente y descubrí que no había delimitado correctamente una de mis matrices ... Así que supongo que fue solo un caso en el que tuve que verificar mis punteros correctamente :) – krebstar