问题标签 [minidump]

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 投票
1 回答
1090 浏览

stack-trace - 使用 IDebugControl::GetStackTrace 错误线程堆栈跟踪

我有一个崩溃应用程序的小型转储,我想在我自己的库中使用 DbgEng 对其进行分析。现在有谁可以使用 IDebugControl::GetStackTrace 获取导致程序崩溃的线程的堆栈跟踪?

我感谢任何形式的帮助

谢谢

0 投票
3 回答
1827 浏览

c# - xxx.exe 中 0x782260ec 处的第一次机会异常:0xC0000005:访问冲突

我的应用程序在一段时间后崩溃,但我找不到任何模式。我能够得到崩溃转储。应用程序在 Windows Mobile 6.5 上运行。它是用 C# 编写的。它使用Imaging API、PInvoks 和大量线程。

当我使用 Visual Studio 2008 调试该转储时,在输出中显示“xxx.exe 中 0x782260ec 处的第一次机会异常:0xC0000005:访问冲突”

调用堆栈显示 2 个条目。但我无法匹配其中任何一个来从我的代码中调用。

windbg.exe 表示此错误出现在“netcfagl3_5.dll”中

是否有一些特殊的技术可以分析 Windows Mobile 中的转储文件?

0 投票
2 回答
1623 浏览

visual-studio - 转储文件中有什么?

MS Connect 版主要求我为我在使用 Visual Studio 时遇到的问题提供一个小型转储文件。

我的公司有点担心转储文件中可能包含的内容(大小约为半个演出)。

通过“轻度关注”,我仅仅意味着他们要求我找出是否会包含任何专有代码(如果是的话,会包含多少)。

转储文件是由 Visual Studio 通过执行以下操作创建的:

  1. 启动 Visual Studio。
  2. 启动另一个 VS 实例。
  3. 在第二个实例中,单击工具 | 附加到进程...
  4. 在进程列表中找到 devenv.exe。
  5. 单击选择...并明确选择“本机”和“托管”代码。
  6. 单击“确定”和“确定”关闭“选择”对话框和“附加到进程”对话框。
  7. 回到 VS 的第一个实例并重现崩溃。
  8. 崩溃后,控制权应转到 VS 的第二个实例。
  9. 在第二个实例中单击调试 | 保存迷你转储。

我认为 StackOverflow 上可爱的人们会提供帮助。所以我对你的问题是:

  • Visual Studio 转储文件中有什么?
  • 在创建转储文件之前,我是否应该考虑任何注意事项,以避免发送我的电子邮件内容、我的所有密码和我的银行账户详细信息以及我所有同事的源代码?
0 投票
1 回答
1656 浏览

c++ - Windows:打开小型转储时看不到调用堆栈

我正在使用MiniDumpWriteDumpwithMiniDumpNormal参数在 SEH 异常处理程序中转储调用堆栈。当我在 VS 中打开转储时,我看不到调用堆栈。两天前,当我开始尝试倾倒时,我确实看到了相同的代码。我改变了一些东西,我不明白是什么。这是一个调试版本(我什至可以看到来自发布版本的调用堆栈)。如果我在调用处放置断点,我可以在调试器中看到调用堆栈正常MiniDumpWriteDump。如果转储不是从异常处理程序中写入的,我可以在 VS 中打开转储后看到调用堆栈。堆栈未显示的原因可能是什么?

这就是我的转储编写代码的样子

PS我用/EHa编译。还尝试完全禁用 C++ 异常(两天前肯定有效)。当然,.pdb 文件生成得很好。

PPS 这就是我所说的“调用堆栈没有出现”的意思。

在此处输入图像描述

0 投票
2 回答
2296 浏览

python - 用 Python 编写 windows mini 转储

我一直在尝试创建一个函数,该函数将为给定的进程 ID 编写一个小型转储文件。到目前为止,我有这个:

进程和文件句柄创建成功。但是,对 MiniDumpWriteDump 的调用会设置以下错误: Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

有没有人知道为什么会这样?

0 投票
1 回答
1310 浏览

c# - 使用 C# 插件挂在 COM 应用程序中

我有一个问题,我们的应用程序挂在我们客户的机器上,我已经使用了好几天没有解决。从我们所看到的情况来看,这个问题是随机出现的,尽管情况可能并非如此。客户还报告说,当应用程序挂起时,CPU 正在达到峰值。

问题是我不知道应用程序在哪里失败(挂起)。我们也有几个用 C# 编写的插件作为主 COM 应用程序的插件。

我已经设法让客户在出现问题的机器上使用 ProcExp 进行 MiniDump。但是,我对 WinDBG 或 MiniDumps 也不是很熟悉。我运行了!analyze -vand !analyze -v -hang,它产生了一些输出,包括下面的堆栈。据我所知,应用程序似乎正在转换到我们的 C# 插件 (CLR) 之一,然后又回到 COM,它应该是返回到插件可用的主应用程序的接口。但是然后呢?可以从这个堆栈中说更多吗?

如果重要的话,主应用程序是用 VB6 编写的。

编辑1: 阅读其他论坛帖子后我的一些想法。在我看来,挂起是在将数据类型从 .NET 编组到 COM 之后引入的。现在我读到了另一个问题,它似乎源于传递给 COM 方法的局部变量被垃圾收集的事实,因此 VB6 运行时在处理释放的内存时遇到了问题。另一个帖子不完全是这个问题,但它让我思考。

在调用 COM 的 .NET 代码中,我们有这种类型的代码

以及ref bool直接从方法到方法传递的参数是否与任何事情有关?如您所见,我在这里的黑暗中跌跌撞撞...

0 投票
1 回答
805 浏览

wcf - 使用 Windbg 检测 WCF 通道泄漏

我有每个会话服务模式的 WCF 服务,并使用 WIF 进行身份验证/授权。但是一些客户正在使渠道泄漏。

有没有办法使用内存转储和 windbg 查看哪个客户端正在泄漏?我不能使用客户端 IP 地址,因为不止一个客户端来自同一个 IP。用户身份可能很有用,但我找不到泄漏的服务实例和使用的 ClaimIdentity 之间的联系。

0 投票
3 回答
11848 浏览

c++ - 每当应用程序崩溃时为其创建转储文件

每当我的应用程序崩溃时,我都会尝试为它创建一个转储文件。我目前正在使用带有 -e 标志的 procdump.exe 来执行此操作,因此如果我的应用程序中有未处理的异常,procdump 会为我创建一个转储文件。

我以为我已经完成了,但后来我发现我的应用程序崩溃并且 procdump 没有创建转储文件。经过一些调查,我发现 vector::front 的无效使用会导致运行时错误。我打开了 _SECURE_SCL_THROWS 标志,之后 procdump.exe -e 确实捕获了崩溃并创建了一个转储文件。

现在我的问题是:当我的应用程序崩溃时,现在 procdump.exe -e 是否总是会创建一个转储文件?我如何保证我没有任何其他情况 procdump -e 对我不利?

0 投票
1 回答
834 浏览

c++ - WinDbg 分析故障转储在本地 pc 上不起作用

我开发了一个小型 MFC 应用程序,它将 24 小时在服务器上运行。(Windows Server 2008 R2,x64)

我故意让应用程序崩溃,以查看它的 minidump 文件是否正确创建和工作,并且它可以与 WinDbg 一起使用。

我是怎么做的。

但是,当我在本地笔记本电脑(Windows XP、x86)上做同样的事情时,我在调用堆栈文本中看到的都是非常基本的信息,如下所示。(它也没有显示我应该看哪一行来调试。)

我花了几个小时在谷歌上搜索,但在寻找答案时感到迷茫。为什么它不能只在我的笔记本电脑上工作?

我应该检查什么?我错过了什么?任何想法将不胜感激。提前致谢。

0 投票
1 回答
843 浏览

c - MiniDumpWriteDump 段错误?

我正在尝试转储一个进程,比如说calc.exe

当我运行我的程序时,我得到

这是代码