一、gdb调试
- gdb调试在编译时要加参数
-g
- 基本命令:
启动:gdb file
罗列代码行数:list 1,
设置断点:break (行数)
查看断点信息:info break
调试运行:run(r)
单步调试:step(s)
查看变量:print§ 变量名
查看堆栈式:bt
继续调试:continue(c)
退出程序:q - 列出所有资源的限制,查看core文件的选项是否打开
ulimit -a
不生成core文件原因:
1、没有足够内存空间;
2、禁用了core文件的创建;
3、设置一个进程当前目录没有写文件的权限; - 使用
ulimit -c
命令可以查看当前系统对于core文件的配置,0表示不生成core文件;不为0的数字a表示限制core文件大小不超过a,单位是k;unlimited则表示不限制core文件大小。 - 查看core文件生成路径配2种方法:
cat /proc/sys/kernel/core_pattern
- 修改core文件路径的办法:
(1)执行 sysctl kernel.core_pattern=core路径 命令进行修改,重启后失效
(2)在/etc/sysctl.conf中添加kernel.core_pa