图书馆网站建设背景,苏州小程序开发,网络经营网址怎么注册,哪个软件可以自动排名r (run) 运行程序 b (breakpoint) 打断点#xff0c;比如 b func(打到函数) b 5(打到第5行)(当前文件) b main.cpp:5(main.cpp的第5行) b MyClass::func() (打到类的成员函数func()、在类内可以 p this 打印、p *this、p this-name) tb (temporary breakpoint) 临时断… r (run) 运行程序 b (breakpoint) 打断点比如 b func(打到函数) b 5(打到第5行)(当前文件) b main.cpp:5(main.cpp的第5行) b MyClass::func() (打到类的成员函数func()、在类内可以 p this 打印、p *this、p this-name) tb (temporary breakpoint) 临时断点用法同 b c (continue) 继续执行代码直到下一个断点 n (next) 执行下一行代码但是不会进入函数内部 s (step) 执行下一行代码并进入函数内部 (单步调试) 如果陷入步进后可以按c跳出继续执行代码 p (print) 打印变量的值 bt (backtrace) 打印函数调用栈 f (finish) 执行到当前函数返回为止 d (delete) 删除断点d breakpoint number 删除指定断点 d 删除所有断点 cl (clear) 同delete也是删除断点cl breakpoint number 删除指定断点 cl 删除所有断点 watch 监视一个变量或者一段内存 比如监视 n watch n 条件监视 watch n if n 2 awatch 监视写 rwatch 监视读 g 或 k 退出调试器 tui enable 吊炸天的图形界面调试 layout src 同为吊炸天的图形界面调试 layout asm 显示为汇编语言 u (until) 快速运行完当前的循环体并运行至循环体外停止 i b 查看断点信息相当于 info breakpoints
一些小技巧 gdb的带参调试先正常进入gdb调试模式gdb build/main然后 run 的时候带参进入如 r -l -a -o a.txt 等。
这样第二次 run 的时候会带同样的参数 启动 gdb 调试的时候使用命令 gdb build main -ex b main这样启动后会自动跳转到main函数 同理也可以通过刚才的 -ex 命令指定多个命令 调试配置的保存
进入gdb调试模式后比如设置了一些断点后想要把这些配置保存下来 (这里主要指断点的设置)则
save breakpoints codingai.gdb然后下次再进入调试时加载 source codingai.gdb这样就重新把调试配置加载进来了 要在两个不同的终端调试
先启一个 main然后到另一个终端
查找进程pid
ps -A | grep main# 或pidof main
# 比如 312312
则继续在另一个终端中
sudo gdb# 加载符号
attach 312312
接下来可以正常调试且两个终端之间是不影响的