问题标签 [stack-dump]

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 回答
276 浏览

linux - 如何进入主栈

我正在使用备用堆栈来处理 C over linux 中程序的信号。当堆栈溢出发生时,我的信号被传递到我的备用信号堆栈而不是主堆栈上。

所以在这种情况下我想转储堆栈....我该怎么办?

0 投票
2 回答
10235 浏览

java - 无法使用 Eclipse 内存分析器打开 HPROF 文件

Eclipse 内存分析器只提示我这条消息:“无效的HPROF文件头”。

堆栈转储:

HPROF 文件是在 Linux 机器上制作的。

HAT不起作用,IBM HeapAnalyzer很复杂,但确实有效。

我该怎么做才能让它发挥作用?

0 投票
6 回答
955 浏览

c - 访问 malloc 字符数组的堆栈转储

gcc 4.4.3 c89

我有以下源代码。并在 printf 上获得堆栈转储。

我在想这应该创建一个像这样的字符数组。

每个元素我都可以存储我的字符串。

非常感谢您的任何建议,

==添加更正===

0 投票
3 回答
2468 浏览

java - 为什么这个 Hotspot JVM 选项不是默认选项?-XX:+PrintConcurrentLocks

默认情况下,使用 Hotspot,CTRL-Break 线程转储不会列出哪些线程持有java.lang.concurrent锁。而且我知道使用这些锁,热点无法获得有关在哪个堆栈帧获取锁的信息。如果添加 JVM 选项-XX:+PrintConcurrentLocks,则 CTRL-Break 堆栈转储将列出(在线程的堆栈跟踪之后)该帧持有的所有并发锁。例如:

如果没有这个选项,就不可能在事后分析中找出哪个线程持有这个锁。为什么这个选项不是默认的?是否存在一些不明显的性能或稳定性损失?当我搜索找到有关此的讨论时,什么都没有出现。

0 投票
1 回答
9205 浏览

ubuntu - 如何分析核心转储

应用程序 [rtorrent] 崩溃后,它生成了core250MB 的文件。

我需要分析并查看堆栈跟踪,以了解为什么 rtorrent 经常崩溃。

0 投票
1 回答
659 浏览

cygwin - 在 Cygwin 下运行的程序创建的 *.stackdump 文件在哪里?

我运行一个自动测试系统,它使用一些外部工具来进行测试。如果其中一个崩溃 - 尽管该工具本身不是我正在测试的 - 我想保存foo.exe.stackdump创建的文件。但是,我一直无法找到关于创建此文件的位置的明确答案。我的假设是它会在工作目录中(但我无法验证,因为该目录会在测试之间自动清除)并且我无法在线找到明确的答案。我在 Windows 7 上使用 Cygwin 1.7.7。

0 投票
0 回答
133 浏览

linux - linux核心转储大小翻倍

我手头有一个相当奇怪的问题。我正在尝试使用 linux 2.6.35-14 设置 kdump/kexec。

一切正常,我正在通过“echo c > /proc/sysrq-trigger”影响崩溃。

但是,我看到每次调用崩溃时核心文件的大小都会生成双倍!:s:s

  • 第一次崩溃:347Mb
  • 第二次崩溃:622Mb
  • 第三次崩溃:1.2Gb
  • 第四次崩溃:2.2Gb

人们会知道为什么会这样吗?因此解决方案可能是什么?

非常感谢。

0 投票
3 回答
23045 浏览

c++ - 如何解释 .stackdump 文件?

这个问题很可能是使用 Cygwin 可执行文件中的堆栈转储的重复- 但我是初学者,我不理解答案,甚至部分问题。

我对 C++ 和编程很陌生,我正在使用 NetBeans 进行开发。我正在处理一些编译得很好但运行时失败的代码。如果我使用调试器,我会收到以下错误:

我设法找到了文件 all.exe.stackdump,我可以通过 notepad++ 读取它,但我不明白它的含义。我通过另一个问题收集到有一种用户友好的方式来解码这个文件,但我最好的猜测bash$ gdb all.exe.stackdump是无效的。我在调试中使用此文件的最佳方式是什么?

以防万一,这里是 all.exe.stackdump 的内容

0 投票
1 回答
315 浏览

gdb - 在发布模式下分析应用程序的调试器输出

我在 Ubuntu 12.10 下使用 i686-w64-mingw32-gcc 4.7.2 交叉编译器开发了一个 win32 应用程序。

当我运行以发布模式编译的应用程序并崩溃时,我可能会收到如下输出。

我想知道如何解释它?我可以从中获得一些有用的信息吗?例如,是否可以从堆栈转储中获取我的源代码中的行?

0 投票
2 回答
664 浏览

c++ - 尝试/捕获以避免 .stackdump

在下面的代码中,我try/catch在 python 模块代码中使用。在该try块中,我有一个简单的错误(内存访问冲突)并试图捕获相应的异常并在不生成.stackdump文件的情况下安静地终止程序。然而,后者仍然生成,这意味着try/catch构造没有完成它的工作。.stackdump当遇到不正确的操作(如代码中的操作)时,如何避免生成文件并退出程序而不会出错?PS我正在用gcc和boost.python在cygwin中编译代码

有趣的是,它不仅适用于 case x[3]=2,而且适用于所有其他情况:例如x[4]=2or x[20]=2or ,显然,x[2]=2

编辑:

根据 Maciek 的建议,我尝试了以下技巧:

使信号处理函数抛出异常,但不退出

现在尝试在 try/catch 块中包含一个可能有问题的函数(信号函数放在类构造函数中):

然而,这样的技巧并没有像我预期的那样起作用,它会产生以下输出:

所以抛出异常,但一切都在它被捕获之前完成。有没有办法在终止进程之前让它被捕获?