GDB
[toc]
1.简介
GDB调试器 可以再运行程序的时候检查里面发生了什么
GDB可以做4件事:
- 开始并设置参数
- 打断点 再特殊情况下停止
- 当程序停止时,发生了什么
- 纠正错误的影响
GDB支持的语言:
- Ada
- Assembly
- C
- C++
- D
- Fortran
- Go
- Objective-C
- OpenCL
- Modula-2
- Pascal
- Rust
2.安装
|
|
3.开始
3.1 Demo程序
|
|
3.2 gdb命令
利用gcc -g 带调试信息,否则无法调试。
|
|
4.gdb 技巧
-
gdb中可以通过shell xxx 去执行linux命令
-
日志功能: set logging on
-
watchpoint(与print类似,可以观测变量的变化) 同样可以用info 查看watchpoint的情况
5.coredump调试
gdb 调试挂掉的程序
|
|
shell的限制导致没能生成core文件 需要设置
如果没有core文件 需要设置ulimit限制
- -a查看
- -c unlimited 修改
设置后发现不能生成core文件,需要三部:
|
|
gdb 二进制文件 core文件
** 当需要定位位置时 可以使用where**
6.调试正在运行的程序
通过gdb -p PID调试正在运行的程序.注意./a.out & (后台运行)