问题标签 [crash-dumps]

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 投票
2 回答
2141 浏览

debugging - 调试符号问题

当我们使用 Windbg 或 Visual Studio 分析转储文件时,我对使用哪个符号文件感兴趣。假设我的应用程序正在使用一个实用程序库,并且该实用程序库有相关的私有符号文件。当我的应用程序中出现故障转储时,我需要实用程序库的符号来分析完整的调用堆栈。但有时构建/运行时/调试环境安装有不同版本的实用程序库——(肯定)是不同版本的实用程序库符号。

假设我们有一个版本(例如版本 A)的实用程序库(和相关符号)用于构建(链接)我的应用程序,当发生崩溃时,在运行时使用另一个版本(例如版本 B)的实用程序库(和相关符号),并且当我分析故障转储时,在 Windbg 中使用另一个不同版本(例如版本 C)的实用程序库(和相关符号)。

我的问题是,在运行时生成崩溃时,使用版本 B 符号生成崩溃转储(用符号信息填充转储)?但是在Windbg调试环境中使用不同版本的符号C时,会出现符号不匹配的问题?并且使用哪个版本的库来构建无关紧要?我的理解都正确吗?

提前谢谢,乔治

0 投票
3 回答
4298 浏览

debugging - 我如何知道故障转储的 CLR 版本?

我有一个小型转储从 .NET 应用程序中崩溃。有没有办法使用 Windbg 或其他工具知道故障机器(生成故障转储)的 CLR 版本(例如 mscorwks.dll 的版本)?

0 投票
4 回答
5196 浏览

c++ - 获取启动时崩溃的进程的转储

在我无权访问的客户计算机 (WinXP SP2) 上,我有一个 Win32 EXE(非托管 C++)在启动时崩溃。我想解决此问题的最佳方法是获取(小型)转储并稍后使用 windbg 或类似工具对其进行分析。

现在,我通常会告诉客户安装适用于 Windows 的调试工具并运行

但是,您似乎无法将 adplus 用于启动时崩溃的应用程序(http://support.microsoft.com/kb/q286350/表示“在以下情况下请勿使用 ADPlus:如果您必须对程序进行故障排除或在启动期间意外退出的进程”)。同一篇文章说“使用用户模式进程转储”,但我没有成功安装它。

知道如何获取在 Win32 上启动时崩溃的进程的转储吗?

0 投票
1 回答
3475 浏览

exception - 在 Windows 事件查看器中诊断 CLR 错误

我们有一个在生产中崩溃的 .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

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

0 投票
4 回答
71956 浏览

c++ - 如何使用 WinDbg 分析 VC++ 应用程序的故障转储?

如何使用WinDbg分析转储文件?

0 投票
4 回答
1605 浏览

crash-dumps - 当我的应用程序锁定在客户的机器上时,崩溃报告看门狗

我正在使用一个有些不可靠的(Qt/windows)应用程序,部分是由第三方为我们编写的(只是想把责任推到那里)。他们的最新版本更稳定。有点。我们收到的崩溃报告越来越少,但我们收到很多关于它只是挂起并且永远不会回来的报告。情况是多种多样的,由于我们收集到的信息很少,我们无法重现问题。

所以理想情况下,我想创建某种看门狗,它会注意到应用程序已锁定,并提供向我们发送崩溃报告。好主意,但有问题:

  • 看门狗如何知道进程已挂起?大概我们检测应用程序以定期向看门狗说“一切正常”,但我们将其放在哪里,以保证它足够频繁地发生,但不太可能位于应用程序最终运行时的代码路径上锁定。

  • 当崩溃发生时,看门狗应该报告什么信息?Windows 有一个不错的调试 api,所以我相信所有有趣的数据都可以访问,但我不确定什么对追踪问题有用。

0 投票
6 回答
16566 浏览

c# - 当程序崩溃而不显示错误时如何识别问题?

请让我知道当我的应用程序崩溃并关闭显示包含“不发送”和“发送错误报告”按钮的对话框时我需要执行哪些步骤。

除了查看事件查看器来解决这个问题,我还能做什么?

谢谢

0 投票
3 回答
13563 浏览

asp.net - 如何确定 64 位服务器上 IIS 崩溃的原因

我有一个使用 IIS 6 在 Windows server 2003 Standard x64 上运行的 .net 2.0 Web 应用程序。

我们网站的应用程序池最近开始崩溃,我无法确定原因。它开始发生在一个周末,该网站的最新版本是几天前发布的。我确定最近没有对服务器进行其他更改,包括代码和 Microsoft 更新。

每当发生崩溃而数据块中没有其他信息时,事件日志都会显示以下内容:

错误应用程序 w3wp.exe,版本 6.0.3790.3959,标记 45d691cc,错误模块 kernel32.dll,版本 5.2.3790.4062,标记 462643a7,调试?0,故障地址0x0000000000027d8d。

这是在 x64 服务器上运行的,所以我不能使用任何标准的调试诊断工具,因为即使它有 64 位版本,它也只能连接到以 32 位模式运行的 IIS。

我尝试使用 Windows 调试工具 (x64) 并能够附加到 w3wp 进程,并等待另一次崩溃。但是,这大大降低了服务器的速度,以至于它无法使用,所以我不得不停止它。

我可以使用哪些其他方法来尝试确定 IIS 崩溃的原因?

0 投票
1 回答
314 浏览

vista64 - adplus/cdb 故障转储在 Vista 64 Ultimate 上是否仍然有效?

我正在对 asp.net 错误进行一些研究。我试图让 adplus 给我一个 IIS 崩溃的崩溃转储文件。我过去在 XP 机器上做过这个,但是在我当前的 Vista Ultimate 设置中 - adplus 脚本不会在 CDB 运行时生成第二个窗口。我正在使用管理员权限运行 adplus cmd 窗口。

使用 Tess 的设置说明,一切正常。但是CDB从来没有产生过......

有没有人设法在 Vista 64 Ultimate 中为 IIS 7 设置 adplus/cdb 故障转储?如果是这样,你能解释一下你是怎么做到的吗?

0 投票
1 回答
648 浏览

java - JVM 崩溃转储中调用的标准并行 GC 是什么?

当 JVM 使用 -XX:+UseParNewGC 运行时,我们偶尔会遇到访问冲突。当我们查看转储文件时,我们看到

我假设“par new”代表 ParNewGC。

我想在谷歌上搜索使用标准并行 GC 的类似日志,有人知道我会在“堆”而不是“par new generation”下看到什么吗?