coredump相关内容

如何转储整个Python进程以供以后调试检查?

我有一个Python应用程序在一个奇怪的状态。我不想对进程进行实时调试。可以将其转储到文件中,稍后检查其状态吗?我知道我已经在gdb中恢复了c程序的core文件,但是我不知道如何以一种有用的方式从gdb检查Python应用程序。 是关于调试生产系统中的memleaks 。) 解决方案 没有内置方式其他而不是中止(使用os.abort()),如果资源限制允许,则会导致coredump) ..
发布时间:2017-04-17 21:38:13 Python

C程序如何产生自身的核心转储而不终止?

我想要一个C程序在某些情况下产生一个核心转储。这是一个在生产环境中运行并且不容易停止并重新启动以调整其他类型的调试代码的程序。另外,由于它在生产环境中,我不想调用abort()。正在调查的问题在非生产环境中不容易复制。我想要的是程序,当它检测到某些问题时,自己生成一个核心转储,最好有足够的信息来重命名文件,然后继续。 解决方案 void create_dump(void) { if( ..
发布时间:2017-04-17 19:18:45 开发方法

使用一个来自Cygwin的stackdump可执行文件

使用addr2line我可以知道程序是如何到达崩溃点的解码地址一个。有没有替代工具,可以缓解使用堆栈转储调试? 是否有办法在Insight / Gdb中加载此信息? 解决方案 您可以指示Cygwin启动gdb调试器只是在发生故障的时候。 为此,请将 error_start = action 添加到Cygwin环境变量: export CYGWIN =“$ CYGWIN error ..
发布时间:2017-03-09 19:59:03 Linux/Unix

Linux中的核心转储

我想要在我的进程崩溃时创建一个核心转储。目前我采用这种方法: 使用gcc / g ++的“-g”创建一个特殊的“调试”版本的程序。 / li> 执行“ulimit -c unlimited” 现在,只要程序崩溃,我们就得到核心转储。 但是我想尽量减少步骤数量,以便: 创建。即使它是“释放”构建。不应该要求用户手动执行命令“ ulimit -c unlimited ”。 核心 ..
发布时间:2017-01-13 11:07:12 服务器开发

什么是核心转储的原因?堆栈显示从oracle lib

我有一个coredmp,其中所有的线程堆栈看起来正常,但一个堆栈显示这样。任何人都能告诉我这个可能的原因吗?我可以看到exit是从oracle libs调用,是这个问题的oracle? 主题3(进程26454): #0 0x00002b803ceb54a8在退出()从/lib64/libc.so.6 #1 0x00002b803bbe93f5在skgdbgcra()从/home/oracl ..
发布时间:2016-10-25 17:00:18 C/C++开发

将对象通过服务器传递到客户端

我想在linux中创建一个客户端服务器应用程序。服务器应该向所有连接的客户端发送一个对象。 下面是它的代码。 在此当服务器发送对象时,一切在服务器端保持确定,但在客户端服务器收到分段故障时立即收到它。 伺服器: #include“Question.h” #include #include using namespace std ..
发布时间:2016-10-25 16:50:52 服务器开发

是否可以在使用Java JNI时调试核心转储?

我的应用程序大多是Java,但对于某些计算,使用C ++库。我们的环境是运行在RedHat 3(很快就是RedHat 5)上的Java 1.6。 我的问题是C ++库不是线程安全的。要解决这个问题,我们运行多个单线程“工作”进程,并让他们从中央工作管理器做工作,也用C ++编写。我们的Java应用程序通过第三方产品调用C ++工作经理。 出于各种原因,我们要重写C ++工作管理器和工作 ..
发布时间:2016-10-22 18:45:42 Java开发

GDB C ++ - 在查看核心转储时检查STL容器?

我正在调试gdb中我的程序(验尸)的核心转储。我打开它: gdb [program_name] [core_name] 然而,当我试图检查一个STL向量, print vec-> size() 或 print vec-> at(0) 我得到错误 “如果没有调试过程就不能这样做” 我只是想检查这些容器的内容和大小。有没有办法将一个虚拟进程附加到核心转储gdb检查,所以 ..
发布时间:2016-10-20 22:03:14 C/C++开发

从分段故障中恢复的最佳做法

我正在使用C ++编写的多线程进程,并且正在考虑使用 google-coredumper 然而,使用google-coredumper似乎已经成熟,有机会陷入无限循环的核心转储,除非我以某种方式重新初始化可能导致核心转储的线程和对象。 当尝试通过核心转储保持进程活动时,我应该记住什么最佳做法? 谢谢! 解决方案 最佳做法是修复导致核心转储的原始问题,并重新编译并重新启动应 ..
发布时间:2016-10-14 10:27:23 C/C++开发

用C的另一个核心转储问题

当我编译我的code。与结果 G ++ -g -o prueba prueba.cpp -lstdc ++ -O3 -march = corei7 -mtune = corei7 -std =的C ++ 0x 与 g ++的-g prueba.cpp 调试后,我得到了这些: prueba.cpp:24:6:错误:Stoi旅馆'不是'性病'中的一员 TM =的std :: Stoi旅馆(字符 ..
发布时间:2016-08-25 10:15:20 C/C++开发

分段错误(核心转储)的C运行时错误

嗨,所以我新的C,只是写了我的第一个程序的语言和不断收到分段错误,当我尝试运行它。我敢肯定,有我在整个code由多个小失误。我已经通过它去,我不能揣摩出我的错误是。这里是我的code: // $编号:crpn.c,1.1版2013年10月22日13:28:04-07 - - $#包括LT&;&ASSERT.H GT; #包括LT&;&libgen.h GT; #包括LT&;&stdio ..
发布时间:2016-08-25 09:22:24 C/C++

这是什么分段故障原因是什么?

这并不总是发生,但是当服务器应用程序已经运行了相当一段时间不会发生。 是什么原因,我该如何解决这个问题? code如下: 结构hostent *主机; Result-> sin_family = AF_INET; Result-> sin_port = htons((无符号短)端口);主机=的gethostbyname(主机名);如果(!主机) { unsigned lo ..
发布时间:2016-08-24 15:15:26 C/C++

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

GDB的版本上可用HPUX有一个名为“packcore”命令,它会创建一个包含核心转储,可执行文件和所有库压缩包。我发现这是非常有用的一个不同的机器上,当尝试调试核心转储。 是否有GDB的标准版本类似的命令,我可能一台Linux机器?上找到 我在寻找一个简单的命令别人,不一定是开发人员可以当事情变坏用于生产的机器上运行。 解决方案 下面是一条什么必要步骤的脚本(仅在RHEL5测试,但可 ..
发布时间:2016-08-21 21:58:30 服务器开发

由于递归分割故障

我正在写一个程序,它是取1-10之间的数字并显示安排数的所有可能的方式。 防爆 输入:3 输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 每当我输入9或10,程序给出段故障,并转储核心。我相信这个问题是我的递推算法被称为太多次了。有人能帮忙指出,我怎么能限制递归调用所需的金额是多少?这是我目前的code:无效rearang ..
发布时间:2016-08-19 00:37:48 C/C++

未定义的引用'的std :: ::的ios_bas​​e ::初始化的init()“

我写这code键读取3个文件,TM是正方形矩阵的大小,LER阵列的行和从最后的值定义的非正方形矩阵的第(LER / 2)* 2 则... code读取文件的一些关系,都是数字,并分配给C [LER] 然后... C [LER]被分配到B [LER / 2] [2]。 这些坐标,每行,在B〔LER / 2] [2]分配给和b a和b是行和矩阵的列A [商标] [TM]其中添加1 我的cod ..
发布时间:2016-08-18 13:00:22 C/C++

strcat的()的执行工作,但会导致核心转储末

我实施的strcat(字符*,为const char *)似乎工作,但随后它会导致核心转储。 的strcat()实施 的char * strcat的(字符* DEST,为const char * SRC) { 字符* TMP = DEST; 而(* TMP)TMP ++; 而((* ++ TMP = * SRC ++)='\\ 0'!); 返回(DEST); } ..
发布时间:2016-08-17 22:56:43 C/C++

如何生成在Ubuntu核心转储文件

我想知道如何生成在Ubuntu核心转储文件。我使用Ubuntu 8.04.1和gcc编译器4.2.3。我写了一个简单的C程序来生成一个核心转储。我已编译的程序中 - GCC -g badpointer.c。当我运行程序它给分段错误,但不会产生核心转储。什么额外的事情我必须做的,生成一个核心转储文件? 解决方案 检查的ulimit -c 的输出中,如果输出0,这就是为什么你不具备核心转储。 ..
发布时间:2016-08-17 22:48:28 C/C++