问题标签 [windows-error-reporting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
711 浏览

windows-error-reporting - 应用程序关闭和 Windows 错误报告

我们正在尝试更新我们的应用程序,以便提交它以获得 Vista 认证。部分要求是仅处理已知异常并让 Windows 错误报告处理所有未处理的异常。

我们的应用程序中有一个全局异常处理程序(订阅Application.ThreadException事件),在那里,我们对已知异常执行某些处理,但如果一个异常未知,我们希望将其抛出以供应用程序终止并 WER 处理。

如果我们重新抛出然后重新创建调用堆栈,我们看不到这样做并维护调用堆栈的方法。

我们已经研究过终止方式,Environment.FailFast()但我们认为这不会提供我们需要的异常信息。

我们是否遗漏了一些明显的东西?

0 投票
3 回答
116 浏览

windows - 保存来自 MS 崩溃报告者的信息?

在 Windows XP 上,当进程崩溃时,我们会看到一个带有链接的对话框:

“要查看有关错误报告的技术信息,请单击此处。”

“单击此处”链接在窗口中显示了大量信息,但没有明显的方法将其保存到文件中。有办法吗?如果能够将这些数据发送给我们正在合作的几个不同的外部供应商,那就太好了。

我在对话框中看到的唯一其他选项是将其发送给 Microsoft,但这次崩溃可能不是 Microsoft 的错,没有理由将其发送给他们。

0 投票
1 回答
1042 浏览

debugging - 保留挂起的应用程序的 Windows 错误报告转储

一个应用程序偶尔会挂起,我想当时看转储来弄清楚。我编写了一个应用程序,用户可以运行它来自动创建我可以查看的转储。但是,无论我尝试什么,我似乎都无法让用户记住在它挂起时运行它。他们总是最终关闭调用 Windows 错误报告的程序。

WER 将在临时目录中创建转储,但不幸的是,一旦关闭将信息发送给 Microsoft 的对话框,它们就会被删除。

成为 ISV 并从 Microsoft 的错误报告服务器获取此信息是一种解决方案。但目前还不是现实的解决方案。

我无法想象我是唯一面临这个问题的人。该软件由数十名员工同时使用,因此可以联系他们并让他们运行应用程序,或者在运行其他应用程序或其他应用程序没有解决之前不要单击该对话框上的关闭。

该应用程序在 Windows Server 2003 上运行。太糟糕了,因为我知道 Server 2008 有一些 LocalDumps 选项可以让我保留它们。

任何想法以某种方式保留这些转储以便我可以分析它们?障碍是用户,从某种意义上说,我已经接受了他们的固执,不希望他们运行任何其他应用程序或做任何特别的事情。

感谢您的任何建议!

0 投票
11 回答
88496 浏览

windows - 如何禁用 Windows Vista 上的“调试/关闭应用程序”对话框?

当应用程序在 Windows 上崩溃并安装了诸如 Visual Studio 之类的调试器时,会出现以下模式对话框:

[标题:微软视窗]

X 已停止工作

一个问题导致程序停止正常工作。如果有可用的解决方案,Windows 将关闭该程序并通知您。

[调试][关闭应用程序]

有没有办法禁用这个对话框?也就是说,程序是否只是默默地崩溃和烧毁?

我的场景是我想运行几个自动化测试,其中一些会由于被测应用程序中的错误而崩溃。我不希望这些对话框停止自动化运行。

环顾四周,我想我已经找到了在 Windows XP 上禁用此功能的解决方案,该解决方案正在破坏此 reg 密钥:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

但是,这在 Windows Vista 上不起作用。

0 投票
5 回答
3098 浏览

minidump - 如何调试“ngen”ed 图像的 WER 小型转储

在安装时在 .NET 托管应用程序上执行 ngen 并从应用程序的 Windows 错误报告中检索故障转储时,如何使用它来查看堆栈跟踪、变量等?

以下是与该问题相关的一些背景:我们有一个在安装时生成的 .NET 应用程序。当它由于未处理的 .NET 异常而崩溃时,崩溃被存储在 Windows 错误报告中,并且我能够从 winqual.microsoft.com 下载 minidump.mdmp 文件。

我将 minidump.mdmp 放在包含 .dbg 文件的文件夹中,用于构建崩溃的应用程序,然后双击 minidump.mdmp 以在 VS2008 SP1 的新实例中打开它。我的堆栈跟踪如下所示:

kernel32.dll!RaiseException() + 0x3d 字节
mscorwks.dll!RaiseTheExceptionInternalOnly() + 0x295 字节
mscorwks.dll!JIT_Throw() + 0x130 字节
MyApp.ni.exe!000007feee74c84c()
[下面的帧可能不正确和/或丢失,没有为 MyApp.ni.exe 加载符号]
0000000070000d5e()
MyApp.ni.exe!000007feee611000()
000000000300bf78()
000000000300bf60()

Modules 窗口表明已为 OS 和 .NET DLL 加载了符号,但对于应用程序模块,我得到以下信息:

MyApp.exe -> 符号文件中没有本机符号。
MyApp.ni.exe -> 找不到匹配的二进制文件。
MyAppsLibrary.ni.dll -> 找不到匹配的二进制文件。

0 投票
4 回答
2478 浏览

.net - 是否有用于 Windows 错误报告的 .Net API

是否有 .Net API 可供我将Windows 错误报告集成到我的应用程序中?

我最感兴趣的是启动错误报告,即使是我的应用程序中发生的非灾难性错误,我能找到的只是WIN32 API

0 投票
1 回答
421 浏览

outlook-addin - 从 Outlook COM 加载项手动触发 Windows 错误报告

我正在使用 Visual Studio 2008 和 VSTO 编写 Outlook COM 插件。如果加载项中未处理异常,我希望它触发 Windows 错误报告 (WER)。我们公司可以访问 WinQual,以便我们可以从我们程序中出现的用户那里获得 WER 报告的报告。有没有办法做到这一点?

据我所知,这是不可能的,但想检查一下是否有办法。WER 仅在应用程序生成未处理的异常时触发。在 Outlook 和 Outlook 中运行的 Outlook 加载项具有围绕对 COM 加载项的调用的异常处理程序,以防止 COM 加载项导致 Outlook 崩溃。由于 Outlook 不会崩溃,因此不会触发 WER。

0 投票
1 回答
118 浏览

windows-error-reporting - 有没有办法为 Windows 临时目录执行 WER“请求附加文件”?

由于看起来像安装问题,我的公司已经向 Windows 错误报告报告了许多崩溃。我们安装的日志通常位于 windows\temp 目录中。我想将安装日志文件包含为“请求附加文件”条目,但是似乎没有任何方法可以访问提供的环境变量列表的子目录。Windows 临时目录不在您可以使用的值列表中,所以我被卡住了。

一般来说,我不明白如何通过“请求附加文件”获得几乎任何有用的东西。例如,%programfiles% 目录不应包含任何有用的文件,它们应位于您产品的子目录中。我错过了什么?

0 投票
1 回答
370 浏览

minidump - 如何使用 WER 请求其他数据?

我是 WER 的新手(其实是几天前才注册的)。

我设法建立了一个帐户并将我的测试应用程序映射到它。

但是,当我调用未处理的异常时,我看到没有收集其他文件(解决方案中心有正确的报告,BucketID <> 8,尚未到达 winqual,但至少已发送)。

我希望将收集诸如 Version.txt、AppCompat.txt 和 minidump.mdmp 之类的文件。我还尝试使用WerRegisterFile 函数添加文件。没有错误,但也没有发送文件。

我读过这个线程- 它说只有在服务器要求时才会收集额外的数据。所以,我的问题是(可能听起来很愚蠢,但是......):我怎样才能请求额外的数据?我已经扫描了我的个人资料中的所有内容,但唯一有用的选项与产品/文件映射有关。

我觉得这应该很明显(帮助中没有讨论),但是......我被卡住了:(一个屏幕截图表明在哪里看会很好:)

0 投票
7 回答
985 浏览

windows - Win32:如何崩溃?

我试图找出 Windows 错误报告的保存位置;我今天早些时候点击了发送,但我忘记了我想“查看详细信息”,以便我可以检查内存小型转储。

但我找不到它们的存储位置(谷歌也不知道)。

所以我想编写一个会崩溃的虚拟应用程序,显示 WER 对话框,让我单击“查看详细信息”,这样我就可以进入保存转储的文件夹。

我如何在 Windows 上崩溃?

编辑:我问的原因是因为我试过溢出堆栈,浮点除以零。Stack Overflow 使应用程序消失,但没有弹出 WER 对话框。浮点除以零导致 +INF,但没有异常,也没有崩溃。