当前位置: 技术问答>linux和unix
怎么能让我的程序在崩溃时生成dump文件
来源: 互联网 发布时间:2016-09-30
本文导语: 在windows下有dbghelp的接口,可以在程序崩溃或出现异常的时候自己生成一个dump文件,但是在linux下要如何做到呢,有什么工具吗? 还有生成dump后,怎么查看呢? 还望各位朋友教教我啊^_^ | 记得用ulimit...
在windows下有dbghelp的接口,可以在程序崩溃或出现异常的时候自己生成一个dump文件,但是在linux下要如何做到呢,有什么工具吗?
还有生成dump后,怎么查看呢?
还望各位朋友教教我啊^_^
还有生成dump后,怎么查看呢?
还望各位朋友教教我啊^_^
|
记得用ulimit命令可以来控制是否产生core文件,可以用gdb结合程序来看core文件的堆栈。
http://www.groad.net/bbs/read.php?tid-1472.html
参考下,说不定有用
http://www.groad.net/bbs/read.php?tid-1472.html
参考下,说不定有用
|
编译的时候加上-g参数。程序崩溃的时候会自动在当前目录下生成。FreeBSD或者Solaris中使用sysctl或者coreadm指定core文件生成的目录。
而那个命令式查看core文件的大小的。
$ ulimit -c
# 查看core文件的大小
可以使用gdb查看。
进入gdb的调适管理,使用print,backtrace,up,down等调试命令查看。
而那个命令式查看core文件的大小的。
$ ulimit -c
# 查看core文件的大小
可以使用gdb查看。
$ gdb EXECUTABLE-FILE COREFILE
进入gdb的调适管理,使用print,backtrace,up,down等调试命令查看。
|
系统默认的coredump的大小为0 所以不会产生coredump
用ulimit -c unlimited可以设置为不限制大小
然后就会产生coredump文件了
用ulimit -c unlimited可以设置为不限制大小
然后就会产生coredump文件了