问题标签 [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.
linux - 如何进入主栈
我正在使用备用堆栈来处理 C over linux 中程序的信号。当堆栈溢出发生时,我的信号被传递到我的备用信号堆栈而不是主堆栈上。
所以在这种情况下我想转储主堆栈....我该怎么办?
java - 无法使用 Eclipse 内存分析器打开 HPROF 文件
Eclipse 内存分析器只提示我这条消息:“无效的HPROF文件头”。
堆栈转储:
HPROF 文件是在 Linux 机器上制作的。
HAT不起作用,IBM HeapAnalyzer很复杂,但确实有效。
我该怎么做才能让它发挥作用?
c - 访问 malloc 字符数组的堆栈转储
gcc 4.4.3 c89
我有以下源代码。并在 printf 上获得堆栈转储。
我在想这应该创建一个像这样的字符数组。
每个元素我都可以存储我的字符串。
非常感谢您的任何建议,
==添加更正===
java - 为什么这个 Hotspot JVM 选项不是默认选项?-XX:+PrintConcurrentLocks
默认情况下,使用 Hotspot,CTRL-Break 线程转储不会列出哪些线程持有java.lang.concurrent
锁。而且我知道使用这些锁,热点无法获得有关在哪个堆栈帧获取锁的信息。如果添加 JVM 选项-XX:+PrintConcurrentLocks
,则 CTRL-Break 堆栈转储将列出(在线程的堆栈跟踪之后)该帧持有的所有并发锁。例如:
如果没有这个选项,就不可能在事后分析中找出哪个线程持有这个锁。为什么这个选项不是默认的?是否存在一些不明显的性能或稳定性损失?当我搜索找到有关此的讨论时,什么都没有出现。
ubuntu - 如何分析核心转储
应用程序 [rtorrent] 崩溃后,它生成了core
250MB 的文件。
我需要分析并查看堆栈跟踪,以了解为什么 rtorrent 经常崩溃。
cygwin - 在 Cygwin 下运行的程序创建的 *.stackdump 文件在哪里?
我运行一个自动测试系统,它使用一些外部工具来进行测试。如果其中一个崩溃 - 尽管该工具本身不是我正在测试的 - 我想保存foo.exe.stackdump
创建的文件。但是,我一直无法找到关于创建此文件的位置的明确答案。我的假设是它会在工作目录中(但我无法验证,因为该目录会在测试之间自动清除)并且我无法在线找到明确的答案。我在 Windows 7 上使用 Cygwin 1.7.7。
linux - linux核心转储大小翻倍
我手头有一个相当奇怪的问题。我正在尝试使用 linux 2.6.35-14 设置 kdump/kexec。
一切正常,我正在通过“echo c > /proc/sysrq-trigger”影响崩溃。
但是,我看到每次调用崩溃时核心文件的大小都会生成双倍!:s:s
- 第一次崩溃:347Mb
- 第二次崩溃:622Mb
- 第三次崩溃:1.2Gb
- 第四次崩溃:2.2Gb
人们会知道为什么会这样吗?因此解决方案可能是什么?
非常感谢。
c++ - 如何解释 .stackdump 文件?
这个问题很可能是使用 Cygwin 可执行文件中的堆栈转储的重复- 但我是初学者,我不理解答案,甚至部分问题。
我对 C++ 和编程很陌生,我正在使用 NetBeans 进行开发。我正在处理一些编译得很好但运行时失败的代码。如果我使用调试器,我会收到以下错误:
我设法找到了文件 all.exe.stackdump,我可以通过 notepad++ 读取它,但我不明白它的含义。我通过另一个问题收集到有一种用户友好的方式来解码这个文件,但我最好的猜测bash$ gdb all.exe.stackdump
是无效的。我在调试中使用此文件的最佳方式是什么?
以防万一,这里是 all.exe.stackdump 的内容
gdb - 在发布模式下分析应用程序的调试器输出
我在 Ubuntu 12.10 下使用 i686-w64-mingw32-gcc 4.7.2 交叉编译器开发了一个 win32 应用程序。
当我运行以发布模式编译的应用程序并崩溃时,我可能会收到如下输出。
我想知道如何解释它?我可以从中获得一些有用的信息吗?例如,是否可以从堆栈转储中获取我的源代码中的行?
c++ - 尝试/捕获以避免 .stackdump
在下面的代码中,我try/catch
在 python 模块代码中使用。在该try
块中,我有一个简单的错误(内存访问冲突)并试图捕获相应的异常并在不生成.stackdump
文件的情况下安静地终止程序。然而,后者仍然生成,这意味着try/catch
构造没有完成它的工作。.stackdump
当遇到不正确的操作(如代码中的操作)时,如何避免生成文件并退出程序而不会出错?PS我正在用gcc和boost.python在cygwin中编译代码
有趣的是,它不仅适用于 case x[3]=2
,而且适用于所有其他情况:例如x[4]=2
or x[20]=2
or ,显然,x[2]=2
。
编辑:
根据 Maciek 的建议,我尝试了以下技巧:
使信号处理函数抛出异常,但不退出
现在尝试在 try/catch 块中包含一个可能有问题的函数(信号函数放在类构造函数中):
然而,这样的技巧并没有像我预期的那样起作用,它会产生以下输出:
所以抛出异常,但一切都在它被捕获之前完成。有没有办法在终止进程之前让它被捕获?