当前位置: 首页 > news >正文

新开传奇网站发布网孞东莞企业推广网站制作

新开传奇网站发布网孞,东莞企业推广网站制作,清丰网站建设费用,百度商桥在网站文章目录 Step1:安装GDB1.1、包管理器安装1.2、下载源码编译安装 Step2:编译程序时添加调试信息Step3:GDB启动、退出、查看代码Step4:GDB断点操作Step5:GDB调试操作5.1 单步调试5.2 多进程调试 调试是软件开发中非常重…

文章目录

  • Step1:安装GDB
    • 1.1、包管理器安装
    • 1.2、下载源码编译安装
  • Step2:编译程序时添加调试信息
  • Step3:GDB启动、退出、查看代码
  • Step4:GDB断点操作
  • Step5:GDB调试操作
    • 5.1 单步调试
    • 5.2 多进程调试

调试是软件开发中非常重要的一环,它可以帮助我们找到程序中的错误并修复它们。在Linux系统中,GDB是一个非常流行的调试工具,几乎每个开发者都会使用它来调试程序。本文将详细介绍如何使用GDB调试程序,如果你觉得内容对你有帮助,那么请不要忘记点赞和收藏,这将对我产生巨大的鼓励。让我们一起开始这段学习之旅吧!

Step1:安装GDB

1.1、包管理器安装

在Linux系统中,可以使用包管理器来安装GDB。例如,在Ubuntu系统中,可以使用以下命令来安装GDB:

sudo apt-get install gdb

1.2、下载源码编译安装

# 1. 打开终端,使用以下命令下载GDB源码压缩包到当前目录
wget http://ftp.gnu.org/gnu/gdb/gdb-9.2.tar.gz  或者 wget https://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.xz# 2. 解压GDB源码压缩包到当前目录
tar -zxvf  gdb-12.1.tar.xz# 3. 进入GDB源码目录
cd gdb-12.1# 4. 运行以下命令来配置GDB:这将在`/usr/local/gdb`目录下安装GDB,并启用系统读取行模式和禁用Guile语言
./configure --prefix=/usr/local/gdb --with-system-readline --without-guile# 5. 运行以下命令来编译GDB源代码并生成可执行文件
make # 6. 运行以下命令来安装GDB到系统中,并将其添加到系统路径中
sudo make install# 验证GDB是否成功安装:如果GDB成功安装,将输出GDB的版本信息
gdb --version

Step2:编译程序时添加调试信息

在编译程序时,需要使用-g选项来添加调试信息。例如,如果要编译名为test.c的程序,可以使用以下命令:

gcc -g -Wall test.c -o test

-g 的作用:在可执行文件中添加源代码信息,比如可执行文件第几条对应源码第几行
-Wall 的作用: 在不影响程序行为的情况下打开所有warning,发现更多的问题,避免不必要的BUG

这将生成一个带有调试信息的可执行文件test

Step3:GDB启动、退出、查看代码

# 启动GDB并加载可执行文件
gdb test
# 退出
quit# GDB使用帮助
help# 给程序设置参数/获取设置参数
set args 10 20
show args# 查看当前文件代码
1ist/1      (从默认位置显示)
1ist/1 行号  (从指定的行显示)
list/1 函数名(从指定的函数显示)# 查看非当前文件代码
list/1 文件名:行号
list/1 文件名:函数名# 设置显示的行数
show list/listsize
set list/listsize 行数

Step4:GDB断点操作

# 设置断点,b或者break
b/break 行号
b/break 函数名
b/break 文件名:行号
b/break 文件名:函数# 查看断点,删除断点
i/info b/break
d/del/delete 断点编号# 设置断点无效和生效
dis/disable 断点编号
ena/enable 断点编号# 设置条件断点(一般用在循环的位置)
b/break 10 if i==5# 要查看当前作用域内的变量值,可以使用`print`命令。例如,要查看变量`x`的值,可以输入以下命令:
print x

Step5:GDB调试操作

5.1 单步调试

在GDB中,可以使用以下命令来单步执行程序:

# 运行gdB程序
start(程序停在第一行)
run(遇到断点才停)# 继续运行,到下一个断点停
c/continue# 向下执行一行代码(不会进入函数体)
n/next# 向下单步调试(遇到函数进入函数体)
s/step
finish(跳出函数体)# 变量操作
p/print变量名(打印变量值)
ptype 变量名(打印变量类型)# 自动变量操作
display num(自动打印指定变量的值)
i/info display
undisplay 编号# 其它操作
setvar变量名=变量值
until(跳出循环)

要查看当前的调用栈,可以使用backtrace命令。例如,要查看当前调用栈的详细信息,可以输入以下命令:
backtrace

5.2 多进程调试

使用GDB调试的时候,GDB默认只能跟踪一个进程,可以在fork函数调用之前,通过指令设置GDB调试工具跟踪父进程或者是跟踪子进程,默认跟踪父进程。

# 设置调试父进程或者子进程
set follow-fork-mode [parent(默认)| child]# 设置调试模式,默认为on,表示调试当前进程的时候其它的进程继续运行,如果为off,调试当前进程的时候其它进程被GDB挂起。
set detach-on-fork [on | off]# 查看调试的进程
info inferiors# 切换当前调试的进程
inferior id# 使进程脱离 GDB 调试
detach inferiors id

在这篇详尽的gdb教程的结尾部分,我真心希望大家能够点赞并收藏。这不仅是对我个人努力的认可,也是对我持续分享知识的热情的鼓励。每一个小小的赞和收藏都是对我最大的支持,让我有动力继续创作更多有价值的内容。让我们一起在学习和探索的道路上互相支持,共同进步!

http://www.15wanjia.com/news/40064.html

相关文章:

  • 郑州做网站msgg百度招聘官网首页
  • 麻城网站制作公司色盲测试卡
  • 定制 网站万能搜索引擎
  • 搭建一个自己的网站博客网站seo
  • b站up主怎么接推广谷歌搜图
  • 网站官网上的新闻列表怎么做百度竞价推广运营
  • 找设计网站公司seo优化的基本流程
  • 做住宿的有几个网站怎么免费创建个人网站
  • 哪个网站可以做分期360关键词推广
  • 那个网站做生鲜老铁外链
  • 搭建一个简单的网站网络营销主要是什么
  • 怎样做才能让网站有排名蜘蛛搜索引擎
  • 如何把网站做的好看seo标题优化是什么意思
  • 手机wap网站模板使用成都今天重大新闻事件
  • 长沙哪里有网站制作微信引流被加软件
  • 网站建设 用英文怎么说百度seo外链推广教程
  • 加快wordpressgoogle seo教程
  • 东莞做网站一般多少钱直通车怎么开效果最佳
  • 网站开发与推广就业凡科建站快车
  • 自动提卡的网站怎么做的宁波seo链接优化
  • 网站建设企业官网体验版是什么杭州seo优化
  • gps建站步骤视频seo辅助工具
  • 保险行业网站模板腾讯广告代理商加盟
  • 内蒙古网站seo优化百度快照收录入口
  • 电子商务网站建设与管理考卷cba最新积分榜
  • 日本优秀平面设计网站济南百度推广开户
  • 海淀地区网站建设在线数据分析网站
  • 犀牛做网站的公司海外品牌推广
  • 学校网站怎么做的好处web网页模板
  • 外贸没有公司 如何做企业网站做网站哪家公司比较好而且不贵