问题标签 [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 投票
1 回答
703 浏览

windbg - cdb 和 windbg 无法加载 MiniDump,但 VS 2008 可以正常加载它们

我正在尝试构建一些自动故障转储分析,但我无法让 cdb 或 windbg 加载我的故障转储。它们在 VS 2008 中加载得很好。

当我在文件上运行 dumpchk.exe 时,我得到:

当我在文件上运行 cdb 时,我得到:

0 投票
2 回答
1379 浏览

windows - 如何获取已处理异常的故障转储?

我的 dll 被一个模块使用,该模块肮脏地捕获所有异常并将其登录到文件中。

我的问题是客户站点存在访问冲突,只能在其计算机上重现,我希望该客户能够为此问题生成转储文件。

我试图在我的 dll 中生成一个 AV 并使用 adplus 生成一个转储文件,但由于 AV 被使用我的 dll 的模块捕获,因此没有创建转储文件。

所以我的问题是:

有没有办法在处理异常时生成故障转储文件?

谢谢,

0 投票
1 回答
2125 浏览

c# - 调试 C# 代码时出现符号问题

我正在使用WinDbg从托管代码(C#,为Any CPU构建的控制台应用程序)加载故障转储,并在 x64 平台上创建故障转储。我在 x64 平台上调试。我已将相关的PDB文件放入符号路径中。

但是 WinDbg 总是从一个奇怪的文件夹中找到符号。这是一个示例(当我使用 !sym 嘈杂时):

我的应用程序被调用FooService.exe并且相关的 PDB 文件被命名为FooService.pdb. 我已设置C:\MySymbols为符号路径并复制FooService.pdb到目录C:\MySymbols。但是为什么 WinDbg 没有找到FooService.pdbC:\MySymbols而是从一个奇怪的子文件夹“FooService.pdb\4311207E2E2D442CB7473828D2488F941”中找到?

在我的场景中,为了加载 PDB 符号文件,最好的解决方案是什么(我必须FooService.pdb\4311207E2E2D442CB7473828D2488F941自己手动创建子文件夹)?

0 投票
1 回答
2735 浏览

c# - 已加载私有符号但未显示行号?

我正在使用 Windbg 从托管代码(C#,为任何 CPU 构建的控制台应用程序)加载故障转储,并在 x64 平台上创建故障转储。我在 x64 平台上调试。

我使用以下命令加载我的应用程序的私有符号。这是我在 Windbg 中使用的命令。

我的困惑是,使用以下命令时,堆栈跟踪中没有显示行号信息。有什么想法有什么问题吗?我需要设置源路径吗?

编辑 1:我在使用 !pe 和 !U 查找引发异常的堆栈跟踪时遇到了一些问题。

这是我的调试过程。起初我使用 !pe 打印异常对象的堆栈跟踪,当我使用 !U 反汇编代码时。我发现的问题是!U 将分解 FooService.ProcessOrders() 的所有函数代码,我想找到函数 FooService.ProcessOrders 中发生崩溃的确切位置。我还发现反汇编注释的 IL 代码只包含我所做的函数调用(对于非函数调用 C# 代码,例如 a=a*2,只显示汇编语言),不完全映射到每一行 C# 代码的 IL,( 1)这是正确的预期行为吗?(2)从我在此处发布的分析中找到确切失败的 C# 代码的解决方案或进一步建议是什么?

提前感谢,乔治

0 投票
2 回答
881 浏览

.net - 与崩溃转储相比,WinDbg 在附加到进程时显示不同的调用堆栈

我正在分析将本机库与托管代码一起使用时发生的死锁。我正在使用 WinDbg 来调试问题,目的是保存转储,以便供应商可以在他们的场所观察到问题。

附加到有问题的进程时,我在任何调用堆栈之前看到以下消息:

警告:堆栈展开信息不可用。以下框架可能是错误的。

当直接连接到进程时,框架实际上看起来是正确的。但是,当我对该文件进行转储,然后在另一台机器上的 WinDbg 中打开转储时,其中一个堆栈帧是不同的(也显示了上述错误。)这最初让供应商难住了,因为代码路径似乎不可能.

我使用以下方式进行转储:

什么会导致这种差异,我能做些什么来可靠地分析转储文件的调用堆栈?可能还有其他我应该注意的歪曲数据吗?

0 投票
1 回答
933 浏览

crash-dumps - 有哪些方法可以调试核心转储?

我正在使用一个 ASIC 模拟器 (vcs),它采用一堆不同的语言(在我们的例子中是 Verilog、VHDL、Vera、C 和 Tcl)并将它们全部编译成 C 可执行文件。

这一切都很好,直到它使用神秘的堆栈跟踪进行核心转储。解决此问题的最佳方法是什么?

0 投票
3 回答
1408 浏览

c# - 如何为 Winforms 应用程序获取转储文件

我有一个 C# 应用程序由于未知原因而崩溃。

为了理解这个问题,我想为它制作一个转储文件。

我该怎么做?

非常感谢,

盎司。

0 投票
2 回答
1871 浏览

iphone - 这种崩溃报告没用吗?

我尝试使用“PLCrashReport”来收集崩溃信息,然后使应用程序更稳定,但结果报告是这样的(甚至没有调用堆栈,我想如何使用它?):

“Exception:”部分,Exception:(null):(null),应该是“exceptionName”和“exceptionReason”,大多数时候都是“null”,不知道为什么,有时候会有一个正常值但我也觉得不太好用……

崩溃于 2009-11-13 23:43:04 +0800 - 信号 SIGSEGV(代码 SEGV_ACCERR,地址=0xffffffffc0f4186b)

  • 例外:(空):(空) - 线程 0:

    • 坠毁:1
    • 堆栈(54 帧):,\n 806128664,\n 807756495,\n 816280840,\n 816247 068,\n 817901396,\n 807756495,\n 816280840,\n 817911108,\n 816247168,\n 816247168,\n 816406620,\n 807756495,\n 806130012,\n 119241,\n 812165747,\n 812164839 ,\n 812379009,\n 818127880,\n 807885435,\n 807923065,\n 818122176,\n 818130772,\n 816625560, \n 816626608,\n 816627024,\n 816641892,\n 816651496,\n 816654628 ,\n 816654224,\n 146455,\n 807923363,\n 816119156,\n 816119004,\n 818227300,\n 807923363,\n 816119156,\n 816119004,\n 816524332,\n 816525956,\n 816521588,\n 816212028,\n 816151252,\n 816147980,\n 827758796,\n 827769116,\n 837343488,\n 821391952,\n 807840887, \n 807836793,\n 807834407,\n 827752032,\n 816118388,\n816157144,\n 20421
0 投票
2 回答
1505 浏览

c++ - CString 内崩溃

我在我的应用程序中观察到崩溃,调用堆栈如下所示

不知道为什么会这样。这也不经常发生。任何建议都会有所帮助。我有崩溃转储,但无法进一步取得进展。

我正在执行的操作是这样的

其中 m_RawMessage 是一个 512 长度的字符数组。wMsgLen 是 unsigned short 并且 NC_SP 定义为

编辑:

调用堆栈:

嗯,这是完整的调用堆栈,我已经发布了代码片段,就像我原来的消息一样

谢谢

0 投票
6 回答
2809 浏览

windows - Windows下故意使外部进程崩溃

我想综合一个本机代码错误。这是为了让我们可以看到当发生这种情况时,一些调试输出被放置在哪里。

Pskill(来自 Sys-Internals)导致正常退出。Microsoft 似乎不再直接提供 DotCrash.exe。

有没有办法从外部导致进程崩溃?