首页 > 代码库 > linux中gdb的可视化调试

linux中gdb的可视化调试

  今天get到一个在linux下gdb调试程序的技巧和大家分享一下!平时我们利用gcc进行编程,进行程序调试时,观察程序的跳转等不是这么直观。都是入下的界面!

技术分享

  但是如果我们在编译连接时上加了-g命令生成的可执行文件,用gdb -tui -q p2psrv(要debug的命令),就可以进入一个类似的可视化的调试界面。

技术分享

  之后相信一些基本的gdb操作大家都应该清楚。

backtrace:查看各级函数调用及参数

finish:连续运行到当前函数返回为止,然后停下来等待命令

frame(或f) 帧编号 :选择栈帧

info(或i) locals :查看当前栈帧局部变量的值

list(或l):列出源代码,接着上次的位置往下列,每次列10行

list 函数名: 列出某函数的源代码

next(n):执行下一行语句

print(或p):打印表达式的值,通过表达式可以修改变量的值或者调用函数

quit(或q):退出gdb调试环境

set var:修改变量的值

start:开始执行程序,停在main函数第一句前面等待命令

step;执行下一句语句,如果有函数调用则进入函数中

  大家可以赶快去试一下吧!  

命令描述
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) 执行下一行语句,如果有函数调用则进入到函数中

linux中gdb的可视化调试