coredump相关内容

如何分析Java核心转储中的信息?

如果某个进程崩溃并离开核心转储,或者我用 gcore 创建一个进程,那么我该如何分析呢? 我希望能够使用 jmap , jstack , jstat 等,还可以查看所有变量的值。 通过这种方式,我可以找到崩溃或冻结的JVM的原因。 解决方案 好的,如果您使用gcore或gdb创建了核心转储,那么您需要将其转换为名为 HPROF 文件的内容。这些可以由VisualVM,Netbe ..
发布时间:2018-11-27 12:05:07 Java开发

GDB调试跟踪没有相关信息(#()中的#0 0x2e6e6f69)

在使用GDB进行调试时,我面临着特定的挑战。我的二进制文件生成核心。当我调试它的GDB。我没有得到相关的调试信息。 GDB堆栈跟踪(bt): - [root (g)红帽企业Linux(7.0.1-23.el5) 自由软件基金会版权所有(c)2009 许可证GPLv3 +:GNU GPL版本3或更高版本 这是 ..

在Ruby解释器出现段错误之后,是否有可能从corefile获取Ruby回溯?

注意:我使用的是段错误,在使用libxml-ruby gem来解释问题时遇到了问题,但我已经用上述gem修复了我的问题。这个问题的真正目的是从gdb和解释器本身遇到分段错误的核心文件查看Ruby backtrace(即解释器打印的内容与Ruby代码无法处理异常时打印的内容相同)。 在生成一个XML文档时,我得到了一个奇怪的segfault: $ b $ $ p $ / railsroot ..
发布时间:2018-04-21 14:41:03 其他开发

从核心文件恢复程序状态

在任何情况下,是否有可能将程序状态恢复到核心文件生成过程中的状态? 我问的原因是为了利用gdb的能力来执行函数等等,你需要有一个正在运行的实例。当然,应该有可能产生一个相同的可执行文件的模拟过程,其状态设置为核心的内容? 如果不是这种排序的替代方案这首先让我想要做这件事的情况?在这种情况下,内核的反向跟踪导致了库函数,我想将输入复制到此函数调用中,但其中一个输入是复杂的对象,可以很容易 ..
发布时间:2018-04-21 14:39:59 其他开发

ELF核心文件格式

通过GDB源代码进行挖掘,我可以在哪里找到有关用于创建核心文件的格式的文档? ELF 规范保留了核心文件格式,所以我想这应该是GDB规范的一部分!可悲的是,我从GNU的gdb文档中找不到这方面的任何帮助。 这是我想要做的:将虚拟地址映射到可执行文件/库中的函数名包括运行过程。为此,我首先想从核心文件中找出映射从虚拟地址空间到可执行文件/库的名称,然后挖掘相关文件以获取符号信息。 现在' ..
发布时间:2018-04-21 14:28:53 其他开发

Coredump正在被截断

我正在设置 ulimit -c unlimited。 在c ++程序中,我们正在做 struct rlimit corelimit; if(getrlimit(RLIMIT_CORE,& corelimit)!= 0){ return -1; } corelimit.rlim_cur = RLIM_INFINITY; corelimit.rlim_ ..
发布时间:2018-04-21 14:28:50 服务器开发

我有一个不是用调试符号构建的可执行文件的核心转储。我可以恢复argv内容吗?

我可以恢复argv内容以查看命令行是什么吗? > 如果我运行gdb,我可以看到一个回溯,并且我可以导航到main()框架。有一种方法可以在不知道确切地址的情况下恢复argv? 我使用运行CEntOS Linux distro / kernel的x86_x64(Intel Xeon CPU) / p> 我希望的一个原因是核心转储似乎显示了部分argv。 postgres,当我 ..
发布时间:2018-04-21 14:28:13 其他开发

核心转储注释部分

继我的手动生成核心转储文件的问题后,我决定跳水我能够构建基本的核心转储结构,并将我的死程序的内存返回到大型LOAD部分的核心转储中。在GDB中调试时,我的变量回来了,没有问题。 这里有棘手的部分,我该如何让GDB检索程序在崩溃时的位置信息。 我知道,核心转储包含这些信息(cpu寄存器等)。这是一个 objdump -h 给出的“真正的”核心转储: core.28339 :文件格式e ..
发布时间:2018-04-21 14:27:20 其他开发

Solaris核心转储分析

我使用pstack来分析Solaris中的核心转储文件 我还可以如何分析solaris的核心转储? 可以使用哪些命令执行此操作? 转储中可以获得哪些其他信息? 解决方案 您可以使用Solaris模块化调试器,mdb或dbx。 mdb随附SUNWmdb(或64位版本的SUNWmdb x)软件包。 核心文件是正在运行的进程在其崩溃时的映像。 根据应用程序是否使用调 ..
发布时间:2018-04-21 14:24:55 其他开发

在Linux上的gdb中加载核心文件时,如何预先加载目录库路径

我在远程系统上生成了一个核心文件,我无法直接访问它。我也有远程系统的库文件的本地副本,以及崩溃程序的可执行文件。 我想在gdb中分析这个核心转储。 例如: gdb path / to / executable path / to / corefile 我的库位于当前目录中。 在过去,我看到调试器通过提供选项“-p”来实现这一点。或“-p / =”。所 ..
发布时间:2018-04-21 14:24:43 服务器开发

手动生成精灵核心转储

我正在寻找手动生成一个ELF核心转储文件。 我的程序有一个RAM转储,也可以检索寄存器信息等等。 / p> 有了这些数据,我想要构建一个ELF核心转储文件,类似于当程序崩溃时由Linux内核生成的转储文件,目标是分析此核心转储我一直在寻找核心转储规格或详细格式,但没有找到我想要的: $ b 我的核心转储文件需要哪些部分? 它们如何组织到ELF容器中? $ b 如何从 ..
发布时间:2018-04-21 14:23:39 其他开发

核心转储文件不会生成

每次,我的应用程序崩溃核心转储文件不会生成。我记得几天前,在另一台服务器上生成了。 #!/ bin / bash ulimit -c我使用bash运行应用程序,如下所示:无限 而真实;做./server;完成 正如您所看到的,我正在使用 ulimit -c unlimited code>如果我想生成一个核心转储,但是它仍然不会生成它,这在我遇到分段错误时非常重要。 如 ..
发布时间:2018-04-21 14:15:04 服务器开发

核心转储文件分析

在分析核心转储文件时,我需要检查哪些内容? 请从头开始告诉我。 解决方案 您只需要一个二进制文件(带有调试符号)生成核心的那个。然后你可以运行 gdb path / to / the / binary path / to / the / core 来调试它。 当它启动时,您可以使用 bt (用于回溯)从崩溃时间获取堆栈跟踪。在回溯中,每个函数调用都被赋予一个数字。您可以使用 fra ..
发布时间:2018-04-21 14:13:58 其他开发

最小核心转储(仅堆栈跟踪+当前帧)

我可以配置进入Linux核心转储的内容吗?我想获得像Windows迷你转储(应用程序崩溃时有关栈帧的最少信息)之类的内容。我知道你可以使用 ulimit 设置核心文件的最大大小,但是这不允许我控制内核中的内容(即,如果我设置限制为64kb,它会转储堆栈的最后16页)。 另外,我想以程序化的方式设置它(从代码), 如果可能的话。 我查看了 man core 提到的 / proc / PID ..
发布时间:2018-04-20 16:18:07 服务器开发

c++ - 进程为什么会引起abort?

进程收到abort信号后crash了,用lldb分析core文件得到貌似是因为析构时多次释放内存引起的,我对lldb不熟悉,bt输出来的信息定位到protobuf源码去了,不知道如何分析。 gdb输出的信息: Program terminated with signal 6, Aborted. #0 0x00007fafc9ddd66d in nanosleep () from /l ..
发布时间:2017-09-05 22:34:28 C/C++开发

OS X:生成核心转储,而不会导致进程?

我知道如何在一个进程崩溃时在OS X上生成一个核心转储,但我真正需要做的是附加一个进程,生成一个核心转储,然后恢复该进程(不杀死它)。 > 很久以前(也许一年半前)我有C代码可以做到这一点...它使用OS X内核库连接到一个进程,读取所有的线程状态和内存,并将其写入磁盘上的Mach-O文件。这很好(这正是我正在寻找的),但现在我似乎找不到我的生活的代码。我似乎记得代码与OS X系统内部书有关 ..
发布时间:2017-04-18 03:14:47 开发方法

使用Java JNI可以调试核心转储?

我的应用程序主要是Java,但是对于某些计算,使用C ++库。我们的环境是在RedHat 3上运行的Java 1.6(很快成为RedHat 5)。 我的问题是C ++库不是线程安全的。为了解决这个问题,我们运行多个单线程的“工作者”进程,并通过一个也以C ++编写的中央工作管理器进行工作。我们的Java应用程序通过第三方产品调用C ++工作管理器。 由于各种原因,我们要重写C ++工作 ..
发布时间:2017-04-18 01:32:52 Java开发

如何配置Windows以从应用程序生成核心转储?

如何配置Windows从应用程序生成核心转储? 我正在使用Win xp,并且该应用程序是使用Visual Studio 2003构建的。 / p> 解决方案 Microsoft有一个免费的工具,名为 Userdump.exe ,这样做。 使用该工具创建一个转储(.dmp)文件非常简单一个异常关闭的进程,或为挂起的进程创建一个转储文件 ..
发布时间:2017-04-17 22:24:56 C/C++开发