编译可执行文件时需要加上 -g
cgdb
执行的两种方式
- gdb xxx
- gdb xxx core文件
交互命令
参数 | 描述 |
---|---|
run | 简写 r 运行程序 |
start | 会自动停止到main函数开始位置 |
next | n 执行下一行 |
step | s 单步执行,会进入函数 |
continue | c 继续执行,到下一个断点停止 |
until | u 当你厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体。 until+行号: 运行至某行,不仅仅用来跳出循环 |
call | 调用程序中可见的函数,并传递“参数”,如:call gdb_test(55) |
quit | q 退出gdb |
break | 简写 b break [[filename:]linenum] 例: b test.cpp:12 例: b func 例: b fn1 if a>b 条件断点设置 |
info | info break,来查看已经设置的断点 |
delete | 删除第n个断点 例: delete n 清除所有断点 |
start | 会自动停止到main函数 |
start | 会自动停止到main函数 |
bt | 显示当前运行的堆栈列表 |
start | 会自动停止到main函数 |