visual-studio-2008 - vscode - visual studio code extensions
¿Hay alguna forma de romper en la siguiente línea de código ejecutada en Visual Studio? (5)
¿Has probado el botón Debug> Break All ("pause")? ( Ctrl + Break )
Por lo general, se romperá en un lugar bastante bajo en la pila, como en Show () para su formulario principal en una aplicación de WinForms, pero si luego presiona Paso a paso para superar eso, a menudo funcionará bastante bien para este tipo de cosas.
Estoy intentando rastrear un error que ocurre cuando hago clic en un elemento en particular en una página aspx ...
En el pasado, tuve que rastrear a la clase que maneja ese evento en particular y poner un punto de ruptura en la línea que creo que debería ser golpeado. A menudo me toma varios intentos antes de que finalmente encuentre la clase correcta ... especialmente si la clase es un control de usuario enterrado en algún lugar ...
Así que me pregunto si hay alguna forma de que Visual Studio se rompa en la siguiente línea de código ejecutada después de hacer clic en un elemento (digamos un botón) en una página aspx. Sé que hay una manera de romper cualquier excepción que se lance, así que estoy pensando que quizás haya algo similar que pueda ayudarme.
Si este tipo de característica no es una posibilidad, tal vez alguien podría sugerirme una mejor manera de encontrar rápidamente la clase que quiero depurar ...
Algunas ideas:
Si utiliza una convención de nomenclatura coherente para sus controladores de eventos, debería ser trivial hacer una búsqueda global para todos ellos y agregar puntos de interrupción. Puede grabar rápidamente una macro en el primer golpe y luego reproducirla para eliminar todo el dolor de repetir la operación muchas veces. Con un poco de práctica, podrás romper todos los manejadores en unos segundos.
Agregue un controlador de eventos adicional para el evento (créelo temprano, por ejemplo, en el constructor, de modo que se agregue antes de todos los otros controladores de eventos que su aplicación agregue, y por lo tanto se llame primero) y agregue un punto de interrupción. Una vez que haya alcanzado el punto de interrupción, puede pasar un paso por los otros manejadores de eventos del evento.
escriba un controlador de eventos personalizado que maneje el clic y simplemente genere un nuevo evento. Adjunte todos sus otros controladores de eventos a este evento secundario. Luego, puede interrumpir el primer controlador y recorrer los controladores secundarios a los que llama.
Depurar -> Excepciones
Cheque arrojado para las excepciones de CLR.
EDITAR
Las probabilidades son que está teniendo una excepción CLR. Usando este método, el depurador siempre se romperá cuando se produzca una excepción. Esto es muy conveniente en comparación con la lectura de la traza de pila.
¿Está buscando Step Into (F11)
o Step Over (F10)
?
- editar
¿También sabes sobre la ventana de Call Stack
? Puede ayudarlo a determinar su ubicación y lo que está sucediendo.
Los puntos de interrupción condicionales pueden ser su respuesta. Puede configurarlos si cree que su código se está rompiendo y solo se detendrán cuando se cumpla la condición.