2012-04-30 17 views
8

Recibo excepciones de algún lado, pero todo lo que obtengo del compilador es "Se produjo una excepción de primera oportunidad del tipo 'System.ArgumentOutOfRangeException' en mscorlib.dll". Esto es bastante inútil para mí, ya que ese no es mi código (bastante seguro de que es una biblioteca por defecto). Me gustaría ver un rastro de pila o algo así para saber en qué parte de mi código las cosas salieron mal. Es una base de código bastante grande (gran parte de la cual no es mía), y hay muchos subprocesos múltiples y otras cosas sucediendo, por lo que es casi imposible tratar de recorrer el código sin una idea de por dónde empezar a buscar. ¿Hay alguna configuración en algún lugar para hacer que TODAS las excepciones desencadenen un descanso para que pueda ver la pila de llamadas cuando se producen, en lugar de simplemente hacer que fallen silenciosamente con un mensaje de error completamente inútil en la salida?Obtener número de línea de excepción de primera oportunidad

+0

Puede ver la pila cuando se lanza la excepción en el modo de depuración. – SimpleVar

+6

Si estás en Visual Studio, prueba 'Debug Menu> Exceptions' y marca todas las excepciones que quieras romper. – gcochard

+0

@Darrel Deberías aceptar las respuestas a tus preguntas, incluso si respondes las tuyas. La gente estará más dispuesta a ayudarte de esa manera. –

Respuesta

16

Tienes un par de opciones. En primer lugar, al igual que Greg dijo, puede causar VS a romperse cuando se produce ninguna excepción:

enter image description here

asegurarse de que estos se comprueban, a continuación, haga clic en OK:

enter image description here

Eso hará que Visual Studio para romper dondequiera que ocurra la excepción.

Otro método consiste en detectar la excepción y, o bien escribir sólo el seguimiento de la pila, o escribir la excepción (usando ToString()) a la ventana de salida:

enter image description here

A continuación, compruebe que su ventana de salida:

enter image description here

Cuestiones relacionadas