В чем мой вопрос/проблема? Я пытаюсь использовать WinDBG для присоединения к нескольким моим модульным тестам, которые находятся в библиотеке классов (проект тестирования модулей), но я не могу заставить WinDbg прерывать управляемые исключения.Тесты для тестирования WinDbg'ing C#
Почему я это делаю? В настоящее время у меня есть тесты, которые используют регулировочные шайбы и натыкаясь на этот вопрос: UnitTestIsolationException: Throws Exception while running Shims test in Release/Debug mode
Однако это происходит только тогда, когда эти тесты выполняются в тандеме (тот же список воспроизведения в тестовом проводнике) с некоторыми другими тестами, которые не используют регулировочные шайбы. При выполнении индивидуально тесты проходят нормально.
Итак, я решил, что я запустил WinDbg (с моим очень ограниченным знанием об этом), прикрепится к тестовому бегуну и сломаю исключения.
Что я пробовал: Поскольку это DLL это, очевидно, будучи загружен некоторыми исполняемым для запуска кода в тестах (тест бегун). В то время как я был, изначально просто выполнял эти тесты в Visual Studio, мне не удалось определить, какой процесс будет подключаться к WinDbg, поэтому вместо этого я начал использовать vstest.console.exe для запуска тестов, а затем подключиться к этому.
Я могу подключить штраф, и WinDbg останавливает выполнение тестового бегуна (yay!).
Теперь я хочу сломать, как только выдается исключение CLR (что означает мое исключение UnitTestIsolationException). После поиска в Интернете я нашел команду windbg для этого: sxe clr
Затем я печатаю g
, и программа снова запускает мои тесты.
Поведение Я вижу: WinDbg никогда не сломается на UnitTestIsolationException - все тесты выполняются до завершения, результаты тестирования выводятся на консоль, то программа завершается:
Passed [SomePassingTestName]
Passed [SomePassingTestName]
Failed [TheFailedTestMethodName]
Error Message:
Test method [TheFaileTestMethodName] threw exception:
Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationExceptio
n: Unexpected error returned by SetDetourProvider in profiler library 'C:\Progra
m Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsof
t\IntelliTrace\14.0.0\Microsoft.IntelliTrace.Profiler.14.0.0.dll'.
Не могли бы вы предоставить SSCCE (минимальный пример)? –
Что вы используете для расширения отладки? sos/psscor/sosex? – MaLio
@MaLio Я использую sos –