Как интерпретировать коды исключений, показанные в WinDbg?

Я просто отлаживаю приложение Windows, которое вылетает. После запуска приложения, присоединения к нему с помощью WinDbg и последующего его сбоя в командной строке WinDbg появилось следующее:

(119c.1794): Unknown exception - code 0000071a (first chance)

Я искал в Интернете, но не нашел никакого объяснения того, как интерпретировать эти коды исключений.

Если это имеет значение, то это 32-битное.NET-приложение, работающее на 64-битной Windows 8 (через WoW64).

1 ответ

Решение

WinDbg уже отображает имя исключения, когда оно это знает:

(15c0.1370): Break instruction exception - code 80000003 (first chance)

Вы получите больше деталей с .exr -1:

0:009> .exr -1
ExceptionAddress: 77d5000c (ntdll!DbgBreakPoint)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 00000000

Вы также можете отобразить коды NTSTATUS, предложенные @rrirower:

0:009> !gle
LastErrorValue: (Win32) 0 (0) - The operation completed successfully.
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0

И эти коды состояния могут быть декодированы с !error, Он будет учитывать ошибки Win32, Winsock, NTSTATUS и NetApi:

0:009> !error 0000071a 
Error code: (Win32) 0x71a (1818) - The remote procedure call was cancelled.
Другие вопросы по тегам