gdb工具使用
文章目录
gdb工具使用
对于C程序来说,需要在编译时加上-g参数,保留调试信息,否则不能使用GDB进行调试
|
|
|
|
gdb使用条件
使用 file 命令 查看 是否带有调试信息
|
|
后是stripped,则说明该文件的符号表信息和调试信息已被去除,不能使用gdb调试
查看进程的pid
查看pid的两种方法
ps -ef | grep 进程名字
pidof 进程名
gdb 直接接入进程名
|
|
|
|
命令行参数
命令 | 解释 |
---|---|
p var |
print 打印 |
p /x var | 16进程打印变量 |
q | 退出 |
b main | 在main函数打上 break point |
b /home/user/main.c:13 | 在main.c 13行上打上断点 |
r | run 【停在断点处】 |
n | next 【单步,不进函数体】 |
回车键 | 执行上一次输入的命令 |
s | step into 【进程函数里面】 |
k | kill 杀掉当前进程 |
info b | 查看所有断点 |
d 1 | 删除 1号断点【输入编号,和上面的命令一起使用】 |
c | continue,直接跳到下一个断点 |
bt | backtrace 【查看函数调用栈】 |
watch i | 监听 i变量 |
info r | 查看所有寄存器的值【register】 |
layout src | 查看源代码调试 |
layout asm | 查看汇编 【按 si单步跳转】 |
si | 注意,在layout asm 模式下使用,表示进入下一行汇编指令 |
文章作者 lyr
上次更新 2022-04-16