¿Hay alguna manera de romper el depurador cuando la aserción es falsa y ejecutar la aplicación utilizando el depurador de Visual Studio? Antes, cuando depuraba la aplicación de Windows, obtenía una excepción y el depurador se rompía, pero ahora en Smart Device se muestra una ventana de error de aserción con el seguimiento de la pila, pero también me gustaría ver los valores de las variables, etc.Romper el depurador en la aserción fallida
Respuesta
Estúpido, la solución fue simple. Cuando aparece la ventana, presione pausa en el depurador :)
Parece que puede adjuntar el depurador cuando la afirmación no puede ver otros detalles; consulte este artículo: http://blogs.msdn.com/b/davidklinems/archive/2005/08/29/457847.aspx. Es bastante anticuado, pero tal vez todavía aplicable.
Además de la solución de Vinay, se puede iniciar el depurador para un proceso específico llamando
En su caso, usted podría hacer que cada vez que el detector reciba un mensaje de fallo.
No estoy seguro acerca de VS 2008, pero al menos en 2010 y más adelante, puede ir a Depurar/Excepciones (Ctrl-Alt-E). Haga clic en el botón "Añadir", elegir "Excepciones Common Language Runtime", y escriba:
Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException
y pulsa "Aceptar". Ahora aparecerá en la lista, asegúrese de marcar la casilla de verificación en la columna "Lanzada". Ahora obtendrá un descanso en cualquier falla afirmativa.
Buen consejo, pero ¿qué sucede si quiero romper System.Diagnostics.Debug.Assert al depurar una prueba unitaria? – yoyo
Encontró una solución: use [TestInitialize] para agregar un System.Diagnostics.TraceListener personalizado que arroje una UnitTesting.AssertFailedException en el caso de un Debug.Assert failure. – yoyo
- 1. Obteniendo un mensaje extraño de depuración: Aserción fallida: (cls), función getName: ¿qué es esto?
- 2. ¿Existe la posibilidad de romper en cada referencia de objeto en eclipse depurador?
- 3. ¿Puedo obtener el depurador de Internet Explorer para romper el código JavaScript de larga ejecución?
- 4. ¿Puedo romper con el depurador en todos los cambios a un elemento DOM?
- 5. iOS aserción en UICollectionView
- 6. ¡Falló la aserción! Expresión: _BLOCK_TYPE_IS_VALID
- 7. ¿Cómo romper el __NSAutoreleaseNoPool
- 8. ¿Cómo permito romper 'System.NullReferenceException' en VS2010?
- 9. ¿Cómo "romper con el cambio de propiedad" en cromo?
- 10. ¿Continuar depurando después de la afirmación fallida en Linux?
- 11. PHPUnit: error de aserción pero deseo continuar probando
- 12. Fallo de aserción en UITableViewController
- 13. en C# ¿hay alguna manera, en el depurador, para suprimir una excepción de irrumpir en el depurador?
- 14. Invocando el depurador desde un programa C
- 15. Romper imagen en mosaicos
- 16. isalpha() dando una aserción
- 17. FlannBased Matcher aserción error
- 18. _dl_close Error de aserción
- 19. Excepción Vs Aserción
- 20. C++: romper el bucle principal
- 21. Entrando en el depurador en el iPhone
- 22. PHP - Romper la palabra en una matriz
- 23. ¿Cómo romper el ciclo externo en Ruby?
- 24. fracaso UICollectionView aserción
- 25. cómo romper la función _.each en underscore.js
- 26. cómo deshabilitar por completo la aserción
- 27. ¿Cómo imprimir más cuando falla la aserción?
- 28. Visual Studio: ¿Cómo romper las excepciones manejadas?
- 29. Iniciar el depurador en el código
- 30. La confirmación de SVN falla con el error "Autorización fallida"
Me pregunto si hay alguna manera de hacer esto automáticamente, sin embargo. – Superbest
@Superbest - Hay. Ver mi respuesta –
Al depurar una prueba unitaria utilizando Visual Studio, la falla Debug.Assert no aparece en una ventana, es como si el marco de prueba eliminó esta característica. (Estoy usando VS 2013 Pro.) – yoyo