6

我们有一个在生产中崩溃的 .NET 桌面应用程序。我们如何诊断错误?我想知道发生的异常类型、错误消息和堆栈跟踪。

因为我们的代码没有处理异常,所以我们收到了“此应用程序遇到问题,需要关闭” Windows 消息框。唯一的选择是关闭,没有调试按钮。

这篇 MSDN 文章建议查看 Windows 事件注册表。我在那里查了一下,里面的信息如下:

错误应用程序 Initect.Server.UI.exe,版本 0.12.9084.90,时间戳 0x49cac472,错误模块 KERNEL32.dll,版本 6.0.6001.18000,时间戳 0x4791a81d,异常代码 0xe0434f4d,错误偏移量 0x0002f35f,进程 id 0x44c,应用程序启动时间 019070x

这些信息如何告诉我异常类型、堆栈跟踪和错误消息?

4

1 回答 1

3

这些信息不足以让您获得堆栈跟踪、异常类型、错误消息等。

您可以在 Windows Server 2008 上配置 Windows 错误报告(向您显示问题并需要关闭 UI)以始终收集您可以随后调试的转储文件。这不需要您在生产环境中安装 Visual Studio 或任何其他调试器。

http://blogs.technet.com/askperf/archive/2008/02/05/ws2008-windows-error-reporting.aspx显示了执行此操作的正确注册表设置。

于 2009-04-02T18:36:17.123 回答