gdb调试

1.调用子目录原代码:

b src/subfile.c:1234

没找到更好的方法,用这个方法还是比较有效,直接打断点;

2.删除断点

delete 1(断点编号)

3.查看源代码

list

4.调试已经在运行的进程,比如lighttpd

先找到lighttpd的pid,

gdb lighttpd pid_id

5.设置argc

 set args arg1 a.

6.继续执行

c

7.执行下一步:

n

8.进入子函数

list sub_function_name;

b xx

9.基本命令

命令 描述
backtrace(或bt) 查看各级函数调用及参数
finish 连续运行到当前函数返回为止,然后停下来等待命令
frame(或f) 帧编号 选择栈帧
info(或i) locals 查看当前栈帧局部变量的值
list(或l) 列出源代码,接着上次的位置往下列,每次列10行
list 行号 列出从第几行开始的源代码
list 函数名 列出某个函数的源代码
next(或n) 执行下一行语句
print(或p) 打印表达式的值,通过表达式可以修改变量的值或者调用函数
quit(或q) 退出gdb调试环境
set var 修改变量的值
start 开始执行程序,停在main函数第一行语句前面等待命令
step(或s) 执行下一行语句,如果有函数调用则进入到函数中


 

 

你可能感兴趣的:(gcc,gdb)