
经过分析发现系统默认的core文件生成路径是/var/logs,但/var/logs目录并非系统自带的,系统初始安装默认自带的是/var/log,最终导致该系统出现core dump后并没能生成core文件,因此如何查询和修改系统默认的core dump文件生产路径呢?
方法如下:一. 查询core dump文件路径:
方法1: # cat /proc/sys/kerne怠珐糙貉孬股茬瘫长凯l/core_pattern。
方法2: # /sbin/sysctl kernel.core_pattern二. 修改core dump文件路径:
方法1:临时修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。 /proc/sys/kernel/core_pattern 例:echo ‘/var/log/%e.core.%p’ >/proc/sys/kernel/core_pattern
方法2:永久修改:使用sysctl -w name=value命令。 例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p为了更详尽的记录core dump当时的系统状态,可通过以下参数来丰富core文件的命名: %% 单个%字符。
您可以gcc -g标签,生成可调试的文件。出错后会生成一个core文件
您输入命令gdb a.out -c core,进入gdb的命令界面后,输入bt,就可以显示您当前发生段错误的代码。
我运行的时候,一直输出"can not found"。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)