P7 и P8 являются важными для выяснения, где возникло исключение P9.Используйте P4, чтобы узнать, какую сборку искать.Запустите ildasm.exe и откройте эту сборку.Файл + Дамп, отметьте флажок «Значения токена», ОК и сохраните файл .il где-нибудь.
Откройте файл в текстовом редакторе.P7 дает вам токен метода, он начинается с 0x06, производя значение токена "06000129".Поиск:
.method /*06000129*/
С указанием имени метода, оттуда найдите .class и имя класса.
P8 дает смещение IL.Из найденного .method найдите IL_0050 для инструкции, которая вызвала исключение.Отображение его обратно в ваш исходный код немного сложно, но вы, вероятно, поймете это.При необходимости используйте Reflector.
В общем случае, напишите обработчик событий для AppDomain.UnhandledException
, чтобы избежать трудностей обратного проектирования этих аварийных корзин Watson.Зарегистрируйте значение e.ExceptionObject.ToString()
, чтобы получить сообщение об исключении и трассировку стека.