Articles of coredump

如果应用程序在GC中,如何可靠地进行JVM核心转储?

我试图find我的Java应用程序中的内存泄漏的原因。 我需要为一个长 GC循环的进程获取一个堆转储。 在这种情况下,Jmap不起作用,因为应用程序被挂起,而且堆栈非常大。 不幸的是,jmap抛出了我所取得的核心转储的UnknownOopException。 我想在GC中采取核心转储是不正确的。 有没有什么办法来暂停Java进程的地方,采取核心转储将是正确的? 还是我完全错了,由于其他一些问题而破坏了核心转储?

无法为我的崩溃的程序创build一个核心文件

我正在使用Ubuntu 12.04 LTS。 我写了一个简单的程序如下创build崩溃 // null.c #include<stdio.h> int main() { int *p = NULL; int k=*p; printf("%d",sizeof(0)); return 0; } 现在我运行“gcc -g null.c”,然后是“./a.out”,输出如预期。 Segmentation fault (core dumped) 现在我想看看使用gdb的核心转储文件。 我做了以下的事情 我检查了当前目录,没有核心转储文件 我试图用内核“core.%e。%p”来改变/ proc / sys / kernel / core_pattern。 但是我无法写入文件。 这是说“Fsync失败”。 我使用了“sudo vi / proc / sys / kernel / core_pattern”。 仍然无法写入文件。 我想在我的当前目录中创build核心转储。 现在做什么?

a.out被ELF文件格式取代?

我有几个问题: 为什么a.out被ELF取代? a.out格式中导致ELF文件格式升级的主要缺陷是什么? 较早的核心转储基于a.out,但是现在它们基于ELF。 ELF提供的各种优势是什么?

核心转储本身是可执行的吗?

核心转储维基百科页面说 在类Unix系统中,核心转储通常使用标准的可执行映像格式: a.out in older versions of Unix, ELF in modern Linux, System V, Solaris, and BSD systems, Mach-O in OS X, etc. 这是否意味着核心转储本身是可执行的? 如果没有,为什么不呢? 编辑:由于@ WumpusQ.Wumbley在评论中提到了coredump_filter ,可能上面的问题应该是: 可以生成一个核心转储,使其可以自行执行?

find哪个程序导致核心转储文件

最近我一直在经历激烈的程序/软件包安装,所以我无法确定哪个新安装的程序(或旧程序)在我的个人文件夹中出现core文件。 这是一台服务器,所以我最好在机器上找出任何可能的不稳定源。

Linux中的select性核心转储 – 如何select转储的部分?

我正在寻找一种方法来select核心转储中包含的部分和内存区域。 我的应用程序的核心转储大小约为30GB,其中大部分是预分配的缓冲区,我甚至不需要debugging(以后可以清零)。 但是,由于转储过大,应用程序花费太多时间才能完成崩溃并开始恢复。 任何人都可以想到一种方法来提前select哪些细分市场将在核心转储? 谢谢

更改核心转储的位置

我想更改核心转储文件的默认位置,以便每次生成核心转储时都转到该目录。另外,是否可以通过此位置中的崩溃文件的名称来保存转储文件?

从核心转储获取堆栈跟踪

如何从核心转储文件获取堆栈跟踪? 该文件是约14 MB,并在我的应用程序退出说“分段错误” 我在Red Hat 5.5上

Linux:处理分段错误并获取核心转储

当我的应用程序崩溃与分段错误,我想从系统中获得核心转储。 我通过事先configuration来做到这一点 ulimit -c unlimited 我还想在我的应用程序日志中显示出现分段错误。 我通过使用sigaction()来做到这一点。 但是,如果我这样做,信号没有达到其默认处理,核心转储不保存。 我怎样才能同时从我自己的信号处理器系统核心转储一个日志行?

如何轻松打包分析核心转储所需的库(即,packcore)

在HPUX上可用的GDB版本有一个名为“packcore”的命令,它创build一个包含核心转储,可执行文件和所有库的tarball。 当试图在另一台机器上debugging核心转储时,我发现这非常有用。 在GDB的标准版本中是否有类似的命令,我可以在Linux机器上find它? 我正在寻找一个简单的命令,即在生产机器上发生故障时,不一定是开发人员的人员可以运行。