1.调试信息与调试原理
- -g 在编译后的程序中保留调试符号信息
gcc -g -o hello_server hello_server.c
- 启动调试
gdb hello_server
- 移除某个程序中的调试信息
strip hello_server
- 生成调试文件时关闭编译器优化选项,从O0到O4
-O0//表示不优化
2.启动GDB调试
三种方式:
- 直接调试目标程序
gdb filename
run
- 附加进程
gdb attachh pid
- 调试core文件
gdb filename corename
查看资源限制:core文件是否开启、最大文件描述符数量等
ulimit -a
设置core文件大小
ulimit -c unlimited//不限制大小
3.GDB常用调试命令
命令名称 | 命令缩写 | 命令说明 |
---|---|---|
run | r | 运行一个程序 |
continue | c | 让暂停的程序继续运行 |
next | n | 运行到下一行 |
step | s | 如果有调用函数ÿ |