我们有一个在生产中崩溃的.NET桌面应用程序。我们如何诊断错误?我想知道发生的异常类型,错误消息和堆栈跟踪。
由于我们的代码未处理异常,因此我们收到“此应用程序遇到问题,需要关闭” Windows消息框。唯一的选择是关闭,没有调试按钮。
This MSDN article建议查看Windows事件注册表。我在那里查了一下,里面的信息是这里的:
错误应用程序Initect.Server.UI.exe, 版本0.12.9084.90, 时间戳0x49cac472, 错误模块KERNEL32.dll, 版本6.0.6001.18000, 时间戳0x4791a81d, 异常代码0xe0434f4d, 故障偏移0x0002f35f, 进程ID 0x44c, 申请开始时间0x01c9ada7f320cab0
这些信息如何告诉我异常类型,堆栈跟踪和错误消息?
答案 0 :(得分:2)
该信息不足以为您提供堆栈跟踪,异常类型,错误消息等。
您可以在Windows Server 2008上配置Windows错误报告(显示问题并需要关闭UI)以始终收集您可以调试的转储文件。这不需要您在生产环境中安装Visual Studio或任何其他调试器。
http://blogs.technet.com/askperf/archive/2008/02/05/ws2008-windows-error-reporting.aspx显示正确的注册表设置。