Determinar qué llamada genera el error cuando se llama a una función varias veces

Actualización: noviembre 2007

Este tema es aplicable a:

Edición

Visual Basic

C#

C++

Web Developer

Express

Sólo para código nativo

Standard

Sólo para código nativo

Pro y Team

Sólo para código nativo

Leyenda de la tabla:

Se aplica

No procede

Comando o comandos ocultos de manera predeterminada.

Descripción del problema

El programa presenta un error en una llamada a una cierta función, CnvtV. El programa probablemente llama a esa función unas doscientas veces antes del error. Si se define un punto de interrupción en CnvtV, el programa se detiene en todas las llamadas a esa función, pero no es eso lo que se pretende. No se sabe qué condiciones hacen que la llamada produzca un error, de modo que no se puede establecer un punto de interrupción condicional. ¿Qué puedo hacer?

Solución

Puede establecer un punto de interrupción en la función con el campo Recuento de visitas establecido en un valor tan alto que no se pueda alcanzar. En este caso, como la función CnvtV se invoca unas doscientas veces, asigne a Recuento de visitas un valor de 1000 o superior. A continuación, ejecute el programa y espere a que se produzca el error de la llamada. Cuando lo haga, abra la ventana Puntos de interrupción y examine la lista de puntos de interrupción. El punto de interrupción definido sobre CnvtV aparece seguido del recuento de visitas y el número de iteraciones restantes:

CnvtV(int) (no condition) when hit count is equal to 1000 (currently 101)

Ahora sabe que la función produjo un error en la llamada nº 101. Si restablece el punto de interrupción con un recuento de visitas de 101 y ejecuta el programa otra vez, éste se detiene en la llamada a CnvtV que causó el error.

Vea también

Conceptos

Preguntas más frecuentes sobre la depuración de código nativo

Puntos de interrupción y puntos de seguimiento

Otros recursos

Depuración de código nativo