Какие исключения. Бросок приложения .NET - PullRequest
2 голосов
/ 12 октября 2010

Я использую приложение .NET, написанное кем-то другим, и я вижу, что сегодня оно очень медленно обновляется. Используя Process Explorer, я вижу, что он генерирует тысячи и тысячи исключений (которые предположительно каким-то образом перехватываются приложением).

Есть ли способ узнать, что это за исключения, если у меня нет доступа к исходному коду? В Process Explorer есть только счетчик "# of Exceps Thrown". Но есть ли какой-нибудь инструмент, который мог бы сказать мне?

Ответы [ 3 ]

3 голосов
/ 12 октября 2010

Подключите отладчик к процессу , и вы должны быть в состоянии определить, что это за исключения, а не то, откуда они пришли в исходном коде.

Убедитесь, что настройки исключений установлены правильно.Даже без этого вы всегда можете увидеть исключения первого шанса, которые приложение перехватывает и игнорирует в окне «Вывод».Вполне возможно, что это законный, но необоснованный «обработать ошибку путем генерирования» кодового пути, который попадает в приложение.

Если у вас нет отладочного доступа к компьютеру, тогда Process Dumper установлен и производит полный или мини-дамп из целевого процесса (по имени файла .EXE) для выбранных или всех исключений.Я не думаю, что это работает с управляемыми исключениями, хотя.Отладчик будет работать как с управляемыми, так и с собственными исключениями.

0 голосов
/ 12 октября 2010

Это можно сделать с помощью Profiling API .Существует целый API, предназначенный для отслеживания и обработки исключений .

0 голосов
/ 12 октября 2010

Я полагаю, что вы можете использовать windbg , чтобы захватить дамп памяти и проанализировать его, чтобы найти эти исключения.

У меня нет опыта работы с ним, и использование его может привести кприложение, чтобы выйти в автономном режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...