标签:gdb core文件 ubuntu linux 调试技巧
Linux程序在运行过程中可能会出现奔溃的现象,此时启用Core文件可以记录程序的奔溃现场,方便事后查找问题。
ulimit -a如果core file size行为0,那么表示没有启用core文件,需要执行
ulimit -c 2048
重置core文件大小的上限,可以自定义文件大小上限值。
sudo echo "./core.%p" > /proc/sys/kernel /core_pattern上述命令表示在当前目录生成奔溃文件,文件带了进程ID。还有其他可选的参数:
%p - insert pid into filename %u - insert current uid into filename %g - insert current gid into filename %s - insert signal that caused the coredump into the filename %t - insert UNIX time that the coredump occurred into filename %h - insert hostname where the coredump happened into filename %e - insert coredumping executable name into filename
按照之前的设置,当程序奔溃后,会在程序所在目录生成core文件。此时我们就可以使用gdb打开core文件
gdb 程序名 core文件一般情况下,程序会直接定位到程序出错的位置,如果没有,可以使用where命定来定位。
需要注意,程序编译时要加上参数选项-g,使得由足够多的调试信息。
标签:gdb core文件 ubuntu linux 调试技巧
原文地址:http://blog.csdn.net/arbboter/article/details/43194741