debugging - 如何解释WinDbg中显示的异常代码?

标签 debugging exception windbg windows-nt

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

(119c.1794):未知异常 - 代码 0000071a(第一次机会)

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

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

最佳答案

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

您还可以按照 @rrirower 的建议显示 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.

关于debugging - 如何解释WinDbg中显示的异常代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586327/

相关文章:

c - Valgrind 看不到 -g 文件中的行

java - 如何避免 Cassandra StorageService 类 InstanceAlreadyExistsException

java - 重写 Java 中的异常

c++ - 以编程方式下载 Windows 符号

macos - OSX - 如何调试分布式构建?

debugging - 戈格兰 : debugging is grayed out

android - 在 Eclipse 中调试 Android - 'step-into' 跳转到错误的行号

java - JNI 到 Java 异常中的 NoSuchMethodError

c++ - 使用 __except 分析故障转储

c# - 在 Visual Studio 2008 中为 .Net 托管应用程序从 WinDbg 调试 .dmp 文件