Расшифровка the.NET параметры исключения clr20r3 P1..P10



Я пытаюсь расшифровать значение на P1...Параметры P10, связанные с A clr20r3 это записывается в журнал событий, когда мое приложение испытывает исключение.



лучшее, что у меня есть смог найти - это:





  • P1: хостинг-процесс (напримерw3wp.exe)


  • P2: версия процесса хостинга (например 6.0.3790.1830)


  • P3: ??? (например42435be1)


  • P4: сборка, из которой было вызвано исключение (напримерmrtables.webservice)


  • P5: версия сборки (например2.1.2.0)


  • P6: ??? (например4682617f)


  • P7: ??? (например 129)


  • P8: ??? (например50)


  • P9: тип исключения (напримерsystem.argumentexception)


  • P10: ??? (напримерNIL)


гуглить для clr20r3 предоставляет тысячи значений параметров выборки, из которых кто-то может попытаться вывести шаблон.



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





Edit: хотя я могу надеяться на каноническую документацию, на самом деле я был бы рад увидеть исключение, в какой строке, в комплекте с трассировкой стека.



Бонус Чтение





  • Необработанное исключение, которое вызвало сбой приложения с " EventType clr20r3, P1 w3wp.exe " в журнале, но никаких подробностей там (просьба о помощи с проблемой, пока мы запрашивая каноническое объяснение того, что означают параметры)

585   2  

2 ответов:

вот информация о Watson Buckets

  1. Имя Exe Файла
  2. номер версии сборки Exe-файла
  3. Exe Штамп Файла
  4. Exe-файл полное имя сборки
  5. ошибка сборки версия
  6. ошибка сборки метка времени
  7. метод сборки неисправностей def
  8. метод неисправности смещение IL в пределах метода неисправности
  9. тип исключения

и вот MSDN статья о том же.

пример:

  Problem Signature 01: devenv.exe
  Problem Signature 02: 11.0.50727.1
  Problem Signature 03: 5011ecaa
  Problem Signature 04: Microsoft.VisualStudio.SharePoint.Project
  Problem Signature 05: 11.0.60226.0
  Problem Signature 06: 512c2dba
  Problem Signature 07: 18a8
  Problem Signature 08: 1d
  Problem Signature 09: System.NullReferenceException

P7 и P8 являются важными, чтобы выяснить, где было вызвано исключение P9. Используйте P4, чтобы узнать, какую сборку искать. Запустить ildasm.exe и откройте эту сборку. Файл + дамп, установите флажок "значения токенов", ОК и сохраните файл .il где-нибудь.

открыть файл в текстовом редакторе. P7 дает вам токен метода, он начинается с 0x06, производя значение токена "06000129". Ищите:

.method /*06000129*/

что дает вам имя метода, посмотрите оттуда, чтобы найти .класс, который дает вам имя класса.

P8 дает вам смещение IL. Из найденного .метод, найдите IL_0050 для инструкции, которая вызвала исключение. Сопоставление его с исходным кодом немного сложно, но вы, вероятно, поймете это. При необходимости используйте отражатель.

В общем, напишите обработчик событий для AppDomain.UnhandledException чтобы избежать боли обратного проектирования этих ведер аварии Уотсона. Запишите значение e.ExceptionObject.ToString() чтобы получить сообщение об исключении и стек след.

Comments

    Ничего не найдено.