linux中gdb的可视化调试

Posted disdader

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的可视化调试的主要内容,如果未能解决你的问题,请参考以下文章

gdb调试常用方法介绍

linux 下面怎么用gdb调试多个.c文件?

使用GNU/gdb调试Linux C/C++可执行程序查看出错源代码、设置断点

利用QEMU+GDB搭建Linux内核调试环境

GDB 远程调试 - 无法为默认可视化器实例化打印机

Linux gdb调试工具应用详解