阅读了GDB文档,将主要知识点简要的写一下:
编译时:-g -o0(-g:将调试信息加到可执行文件中 -o0:编译过程中不进行优化,默认是2)
attach目标程序:gdb text.exe,设置参数:set args 10 20 30 40 50
arrach运行中程序:gdb -p 123456
断点:
b 行数
b 函数名
b 文件:行数
b 文件:函数名
运行:
r = run
n = next(不进入函数) [ignore]
s = step(进入函数) [ignore]
u = until(退出循环,相当于break)
c = continue
q = quit
打印:
p = print 可以打印变量也可以打印数组
列出源码:
l = list
重定向程序输出:
gdb | tee -a output.log
r > output.log
set args > output.log