gdb (lldb)
编译选项
$ g++ -g <程序名>.cpp -o <程序名>
开始调试
$ gdb <程序名>
(gdb)
gdb命令
// 显示代码
(gdb) [l]ist <函数>
(gdb) [l]ist <行号>
// 设置断点
(gdb) [b]reak <函数>
(gdb) [b]reak <行号>
(gdb) info break // lldb: [br]eakpoint [l]ist
(gdb) delete <断点号> // lldb: [br]eakpoint del[ete] <断点号>
// 运行程序
(gdb) [r]un // 开始执行
(gdb) [q]uit // 退出
// 单步执行
(gdb) [s]tep // step-in
(gdb) [n]ext // step-over
(gdb) finish // step-out
(gdb) [c]ontinue // 继续执行到下个断点
// 打印变量
(gdb) [p]rint <表达式>
// 调用栈
(gdb) bt // Show the stack backtrace for the current thread.
(gdb) up // Select the stack frame that called the current stack frame.
(gdb) down // Select the stack frame that is called by the current stack frame.
(gdb) [f]rame <栈号> // Select a different stack frame by index for the current thread.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。