Как интерпретировать коды исключений, показанные в 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.