2008-11-20 16 views
5

? Aquí está el escenario. Estoy depurando mi propia aplicación (C/C++) que está utilizando una biblioteca desarrollada por otro equipo de la empresa. Una afirmación falla cuando mi código genera algún caso marginal. Es un dolor porque la afirmación no está formulada correctamente, por lo que la función de la biblioteca funciona bien, pero recibo todas estas interrupciones donde simplemente tengo que continuar (muchas cosas en un bucle) para poder llegar a las cosas que realmente me interesan. Tengo que usar la versión de depuración de la biblioteca cuando se depura por otros motivos. El otro equipo no arreglará esto hasta el próximo lanzamiento (hey, funciona en nuestra máquina).¿Puedo configurar Visual Studio 2005 para ignorar las afirmaciones en una región específica de código mientras se depura

¿Puedo decirle al depurador que ignore los puntos de interrupción afirmados por esta sección de código (es decir, puede auto-continuar para mí).

Respuesta

3

Si el código está provocando puntos de interrupción en su propia (por __debugbreak o INT 3), no se pueden utilizar puntos de interrupción condicionales, como los puntos de interrupción no se conocen a Visual Studio en absoluto. Sin embargo, puede deshabilitar cualquiera de esos puntos de interrupción que no le interesen modificando el código del depurador. Probablemente no es lo que quiere, porque necesita repetir esto en cada sesión de depuración, sin embargo, puede ser mejor que nada. Para obtener más información, lea How to disable a programmatical breakpoint/assert?.

+0

Sí, genera un INT 3, veré si puedo abrir un NOP en ese punto para que deje de interrumpirme ... –

2

No hay una buena forma de ignorar automáticamente las fallas de ASSERT() en una biblioteca de depuración. Si es el que tiene que usar, tendrá que convencer al otro equipo de que esto se ha solucionado ahora, o si tiene la fuente de esta biblioteca, puede corregir o eliminar las afirmaciones solo para obtener su trabajo. hecho mientras tanto.

Cuestiones relacionadas