En Visual Studio 2008, el menú tiene una opción Debug
Exceptions...
.
Al hacer clic en esto, aparece el cuadro de diálogo "Interrumpir cuando se lanza una excepción", donde marque la casilla junto a "Excepciones de Common Language Runtime".
Quiero poder marcar/desmarcar esta casilla programáticamente.
Elaboración:
Esto hace que el depurador de romper cuando se produce ninguna excepción CLR (no cuando es capturado y re-lanzado), por lo que este es ideal para la solución de problemas.
El problema es que atrapa todas las excepciones CLR, y el .NET framework arroja y atrapa un grupo de excepciones internamente, que también quedan atrapadas. Esto hace que el depurador rompa una serie de excepciones que realmente no me importan, ya que son internas al marco y no son un problema.
WCF es particularmente malo en esto, y como la fortuna lo tiene, mi aplicación utiliza WCF por todo el lugar.
Lo que me gustaría hacer es desactivar la casilla de verificación, y una vez que mi aplicación se haya iniciado (y haber superado la fase de conexión WCF y todas las excepciones internas), enciéndala para interrumpir todas las excepciones a partir de ahora.
- Sé que no tiene que tener la captura manta en "todas las excepciones CLR", sin embargo, la lista de posibles excepciones es de aproximadamente 2 millas de largo y se necesita siempre para desplazarse y elegir las que desee (y luego, ¿qué pasa si me pierdo algo?)
¿Ha pensado más que soltar un punto de interrupción en el código manualmente y luego encender las excepciones? –
Eso es lo que estoy haciendo. Sin embargo, es muy tedioso tener que activarlos/desactivarlos manualmente cada vez que reinicio la aplicación, que es lo que intento evitar. –