2010-12-06 13 views
5

Me gustaría evitar que el depurador rompa una serie de métodos de validación que pueden conducir a una excepción. Si se lanza una excepción, me gustaría que aparezca en el punto de invocación, no dentro de estos métodos auxiliares. Así que puse DebuggerStepThroughAttribute en los métodos auxiliares. Sin embargo, como los métodos de validación pueden tener errores, aún me gustaría poder depurar el método de validación. Si coloco un punto de interrupción dentro de uno de estos métodos de validación, el depurador saltará directamente sobre él.¿Cómo puedo ingresar a un método decorado con DebuggerStepThroughAttribute?

¿Cómo puedo obtenerlo de modo que con una excepción se arroje el método se omita, pero si coloco un punto de interrupción en el método, entonces debería ser capaz de entrar en él, o no es posible?

Respuesta

2

Poner DebuggerStepThroughAttribute en un método le impide entrar con el depurador. Contrariamente a lo que dices en tu pregunta, aún puedes colocar puntos de interrupción dentro del método y recibirán un golpe. El MSDN docs para el atributo también lo indica.

Esto es lo más cercano que es probable que llegue a lo que desea (por ejemplo, recorra el método normalmente, pero coloque un punto de interrupción en su primera línea cuando desee depurarlo).

+0

Como no funciona las interrupciones en el código de Framework, ¿hay alguna manera de ignorar ese atributo bajo demanda? – mbx

+1

@mbx: puede poner puntos de corte en el código de marco si tiene los símbolos configurados. No hay una manera (que yo sepa) de ignorar el atributo a pedido. – adrianbanks

Cuestiones relacionadas