Chinaunix
标题:
怎么获取服务程序的coredump文件?
[打印本页]
作者:
lsstarboy
时间:
2013-03-18 10:11
标题:
怎么获取服务程序的coredump文件?
在命令行下启动的程序,出现段错误等可以在当前目录下获得程序的.core文件。
但是用rc.d启动的程序,怎么样才能产生.core文件呢?.core文件会产生在哪儿?
作者:
lsstarboy
时间:
2013-03-18 11:14
原来是没有man对命令,折腾了近两个小时,man了一下core,基本上懂了,测试下再发结果
。
作者:
ulovko
时间:
2013-03-18 11:41
期待分享 ^_^
作者:
lsstarboy
时间:
2013-03-18 14:30
简单说:
(1)sysctl kern.sugid_coredump=1
(2)sysctl kern.corefile=/home/crash/%N.core
(3)chmod -R 777 /home/crash,注意,此处权限的设置,最起码要你调试的程序有写权限。
作者:
Hongqiyaodao
时间:
2013-03-18 17:01
提示:
作者被禁止或删除 内容自动屏蔽
作者:
lsstarboy
时间:
2013-03-18 17:39
回复
5#
Hongqiyaodao
详细的也就这些了
再详细就是man了。
作者:
Hongqiyaodao
时间:
2013-03-19 08:49
提示:
作者被禁止或删除 内容自动屏蔽
作者:
lsstarboy
时间:
2013-03-20 10:08
内核可以轻松得到core文件。
命令行可以在运行目录下得到core文件。
但是服务程序,比如ngninx,由于运行的时候用了chroot,启动目录不定,所以得不到core文件。
man core,可以得到一定的提示:
(1)sysctl kern.sugid_coredump=1
这个变量启用su的程序来保存core文件;
(2)sysctl kern.corefile=/home/crash/%N.core
为core文件指定保存位置,注意要用limit命令查看可以core的大小。
(3)chmod -R 777 /home/crash,注意,此处权限的设置,最起码要你调试的程序有写权限。
保存的目录权限,如果需要保存core的程序属主不一定,就是777吧,当然最好不要用777。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2