1

我正在尝试使用 Windows 调试工具 (WinDbg.exe) 调试服务,因为我的服务在生产中引发了未处理的异常。我按照Microsoft 的说明进行操作,我能够附加/调试该服务,它会写入一个包含异常信息的日志。

但是日志的编写没有任何具体细节,如下所示。我只是想知道如何从异常中获取确切的调用堆栈、异常消息和程序集引用。

(UTC - 4:00): (179c.7d4): CLR exception - code e0434352 (first chance)    
(UTC - 4:00): (179c.17f4): CLR exception - code e0434352 (first chance)    
(UTC - 4:00): (179c.56c): CLR exception - code e0434352 (first chance)

服务器详细信息:Windows Server 2012 R2

4

1 回答 1

1

WinDbg 是本机调试器。它对 .NET 一无所知,除了异常名称“CLR 异常”。要获取有关 .NET 的更多详细信息,您需要加载一个了解 .NET 内部结构的扩展。

.loadby sos clr
.loadby sos mscorwks

加载扩展后,还有其他用于 .NET 的命令,例如分析 .NET 异常

!printexception

或短

!pe

在您的情况下,另一个有用的命令是

!clrstack

获取 .NET 堆栈

于 2017-09-21T19:01:06.697 回答