2 xyz347 xyz347 于 2016.01.27 14:30 提问

c++有获取core dump文件名的的api吗

kernel.core_pattern定义了core dump文件格式,如果我想自己生成core文件,又不想解析kernel.core_pattern这个字符串,C++有现成的API用来获取core文件名吗?

4个回答

91program
91program   Ds   Rxr 2016.01.27 16:28
已采纳

C++ 没有这样的功能,因为 C++ 使用在什么系统、什么环境都不清楚。
这个只能从具体系统提供的功能来分析。

caozhy
caozhy   Ds   Rxr 2016.01.27 18:52
wangyaninglm
wangyaninglm   Ds   Rxr 2016.01.27 16:23

这个应该是可以定制的,我找到一个参考说明参考链接

oyljerry
oyljerry   Ds   Rxr 2016.01.27 17:35

这个可以自己封装一个函数来解析kernel.core_pattern 获取

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Linux使用笔记: 定制core dump文件的文件名
Linux使用笔记: 定制core dump文件的文件名 在开发过程中,当一个Linux程序异常退出时,我们可以通过core文件来分析它异常的详细原因。缺省情况下,Linux在程序异常时不产生core文件,要想让程序异常退出时产生core dump文件,需要使用ulimit命令更改coredump的设置: ulimit -c unlimited 上面的命令表示在程序异常时产生c
c/c++ core dump使用
1.程序出现core dump的时候,可以使用命令ulimit -c unlimited即可开启core文件生成 2.定位出问题位置,gdb test core
设置 core dump文件名的格式
可以在/etc/sysctl.conf里设置。
dump和coredump
只要是程序猿一族,就会犯不少错(主要指的是编程),犯错了怎么办,就得找,就得解决,如果不解决,那这个程序就白写了,在计算机的世界里,没有将就,没有差不多,没有大约,没有似乎!只有对与不对,只有0和100的区别!! 所以既然写了程序,那么就要把程序写完,出错了怎么办,那也只有乖乖的,老老实实的找错,否则从#include起,所有一切可能都白费,都是经不起考验的! 这里介绍几种比较有用的调试的方法,Valgrind,coredump文件,log文件,直接codeview(小),F5(小),GDB等一些。
通过编程方式获取backtrace(函数调用栈)(接上篇core dump调试解释)
在用GDB调试器时可以查看所谓的Backtrace,它包含一系列的函数调用信息,用命令backtrace或bt可以在GDB中查看函数调用栈的信 息。有些场合没法使用GDB时,则可以用glibc库函数中的一些相关函数来得到backtrace的信息(在头文件execinfo.h中):
coredump来调试崩溃进程
在平常开发中,经常碰到进程异常崩溃退出的情况,这时候最便捷的方法就是生成core文件,然后通过gdb在查看程序崩溃时的调用栈,一般很快就能定位出问题。 linux系统中程序异常崩溃时默认是不会自动生成core文件的,这时候我们一般需要使用以下命令将core文件生成开关打开,然后再在终端手动拉起进程,当进程再次崩溃时就会生成core文件。 # 将coresize从默认的0改成无限制 ulimi
malloc导致core dump
一次很偶然的机会,发现在调用某个函数的时候,发生core dump的情况。用gdb的bt命令没看出啥来,用x/20x value查看,发现在调用malloc函数时,x/20x value的内存发生改变了,很显然,这个不太可能,实在百思不得其解。只好在每个关键地方都调用malloc来逼近问题最接近的地方。最后,发现有个地方使用malloc(sizeof(var))来分配内存,却使用memset(va
段错误调试神器—Core Dump详解
一、前言: 有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的. 但这不像编译错误一样会提示到文件某一行, 而是没有任何信息, 使得我们的调试变得困难起来.  gdb: 有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字, 而把他叫做
linux下应用程序生成core dump文件
linux下的c程序常常会因为内存访问错误等原因造成segment fault,此时如果系统core dump功能是打开的,那么将会有内存映像转储到硬盘上,之后可以用gdb对core文件进行分析,查看系统发生segment fault时刻的情况。 使用ulimit -a可以查看系统core文件的大小限制 使用ulimit -c[kbytes]可以设置系统允许生成的core文件大小 例如: u
如果使Tomcat产生core和heap dump文件
如果使得tomcat产生core dump文件          core dump文件生成开关其实是通过对生成的文件大小进行控制达到的,默认大小是0,也就是说默认是不生成core dump文件的,可以通过命令ulimit -c进行查看。将此参数修改成unlimited就可以生成core dump文件了, 如果使得tomcat产生heap dump文件           编辑tom