个人知识库 个人知识库
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub

Agnes001

坚持是一件很伟大的事业
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub
  • C语言

  • CPlusPlus

  • Lua技术栈

  • edoyun

  • 内存管理

  • 数据结构

  • 网络编程

  • Linux

    • Linux基础
    • 系统编程

    • 基础命令
    • itcast
    • 文件io
    • gdb
    • Ubuntu安装eclipse
    • gcc安装
    • 系统编程
    • linux内核多线程
  • 池化技术

  • 操作系统

  • python

  • 编程技术
  • Linux
Agnes001
2021-11-16

gdb调试方法

linux下gdb调试方法与技巧整理

# 编译一个测试程序,-g表示可以调试,生成调试信息,命令如下:
gcc -g test.c -o test
# 启动gdb,命令如下:
gdb test 
gdb -q test //表示不打印gdb版本信息,界面较为干净;
#  查看源程序代码,默认显示10行,按回车键继续看余下的。
list(简写 l)
# 运行程序,运行程序直到遇到结束或者遇到断点等待下一个命令;
run(简写 r) 
# 设置断点,格式 b 行号,在某行设置断点;
break(简写 b) 行号
# 在函数func()的入口处设置断点,如:break cb_button
break(简写 b) func
# 显示断点信息
info breakpoints
# 调试执行
# 单步执行程序,但是遇到函数会进入函数;
step(简写 s)
# 继续执行程序,直到下一个断点或者结束;
continue(简写 c)
# 单步执行程序,但是遇到函数时会直接跳过函数,不进入函数;
next(简写 n)
# 查看变量
print 变量
# 当你厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体
until
# 运行至某行,不仅仅用来跳出循环
until 行号
# 运行程序,直到当前函数完成返回,并打印函数返回时的堆栈地址和返回值及参数值等信息。
finish
# 调用程序中可见的函数,并传递“参数”,如:call gdb_test(55)
call 函数(参数)
# 将以整数22作为参数调用 gdb_test() 函数
print gdb_test(22)
# 退出gdb
quit

# 删除第n个断点
delete 断点号n
# 暂停第n个断点
disable 断点号n
# 开启第n个断点
enable 断点号n
# 清除第n行的断点
clear 行号n
# 显示当前程序的断点设置情况
info b (info breakpoints) 
# 清除所有断点
delete breakpoints
编辑此页
#gdb
文件io
Ubuntu安装eclipse

← 文件io Ubuntu安装eclipse →

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式