Windbg с sos, останавливаясь на правильном исключительном

StackOverflow https://stackoverflow.com/questions/3705894

Вопрос

У меня есть служба Windows, которая является периодически, бросая исключение, которое иногда убивает его SQLConnection, и в других случаях полностью убивает услугу. Он работает на сайте клиента.

Я планировал использовать WINDBG + SOS на нем, чтобы получить аварийный срок, чтобы я мог отладить это на своем досуге.

Однако в моей первой попытке отладчик остановил услугу, когда он поразил первый случай исключения, который был пойман и обрабатывается в коде (как я использовал sxe clr команда).

Файл справки, по-видимому, предложит, я использую sxd clr, вместо sxe clr, чтобы захватить второе изменение исключений вместо первых случайных исключений.

Однако в моем тестировании генерируется, пойманный и обработанный исключением, обращается точно так же, как брошенное исключение (но не поймано) по sxd clr Команда, а именно, это отмечено и игнорируется.

Является ли это поведение, не останавливаясь на выброшенном исключительном исключительном, возможно, я явно бросил исключение в моем коде, или все исключения CLR не могут остановить отладчик с sxd команда? Должен ли я использовать другую команду?

Во-вторых, как WINGBG конкретно не распознает ошибки CLR, можно ли его сказать, чтобы остановиться только на определенном, необработанном, исключением (т.е. InvalidOperationException)

Это было полезно?

Решение

Вероятно, просто просто использовать ADPLUS для создания файла дампа. Эта статья Показывает, как создавать минимумы для конкретных исключений .NET, используя adplus.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top