【问题标题】:How to interpret exception codes shown in WinDbg?如何解释 WinDbg 中显示的异常代码?
【发布时间】:2015-10-13 16:44:36
【问题描述】:

我只是在调试一个崩溃的 Windows 应用程序。启动应用程序后,使用 WinDbg 附加到它,然后让它崩溃,WinDbg 命令窗口中出现以下内容:

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

我一直在网上搜索,但没有找到任何解释如何解释这些异常代码。

如果有什么不同,那就是在 64 位 Windows 8 上运行的 32 位 .NET 应用程序(通过 WoW64)。

【问题讨论】:

  • 每当我得到神秘的崩溃代码时,我都会查阅2.3.1 NTSTATUS valuesNTSTATUS codes 页面。他们应该提供重叠的信息。大多数时候,我可以找到代码,有时,我找不到。

标签: debugging exception windbg windows-nt


【解决方案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

您还可以按照@rrrower 的建议显示 NTSTATUS 代码:

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.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2017-12-08
    • 2013-04-11
    • 1970-01-01
    • 2015-03-23
    • 2016-02-01
    相关资源
    最近更新 更多