本文主要是介绍linux下开启程序崩溃生成core文件开关之ulimit详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运行服务器程序经常会出现崩溃,而我们不可能一天24小时都等着他出现。在实际运行中也不能总是使用gdb启动,毕竟gdb绑定运行会消耗很大一部分性能。
不过linux系统在程序崩溃时会生成一个coredump文件,里面保存程序收到退出信号时的堆栈信息,对于调试c++程序是很有帮助的,ulimit命令就是设置程序崩溃时生成coredump文件的开关和大小。
使用命令在shell终端设置,只对当前终端有效,修改当前用户下配置文件,只对当前用户有效,修改etc下系统配置,对所有用户有效,这些都是通用的规律了。
使用命令gdb打开文件就可以调试查看崩溃的堆栈了,如果使用python调用的c++程序,打开core文件命令为gdb python core,使用c语言生产的coredump,打开命令为gdb c core,使用c++生成的coredump,打开命令为gdb cpp core。
查看当前生成core文件设置
ulimit -c
为0表示不生成core文件,非0的数字表示生成core文件大小,为unlimited表示不限制生成core文件大小。
ulimit -c 1024
表示设置core文件大小为1024kb,单位是kb。
ulimit -c unlimited
表示设置core文件大小不受限制。
顺便看看其他选项有什么用&
这篇关于linux下开启程序崩溃生成core文件开关之ulimit详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!