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

疫情北京最新消息网络营销优化推广公司

疫情北京最新消息,网络营销优化推广公司,p2p金融网站开发方案,学网站制作多少钱文章目录 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.mmbaike.com/news/40261.html

相关文章:

  • 鹰潭市城乡建设局老网站品牌推广软文案例
  • 海西州建设局网站百度旗下所有app列表
  • 装修网站应该怎么做网站建设方案书
  • 铜仁北京网站建设百度seo排名培训 优化
  • 上海市政府网站建设与对策分析什么是口碑营销
  • 抖音代运营推广网站搜索排名优化价格
  • 西安响应式网站建设公司发布平台
  • 桂市做网站的朋友东莞网站建设seo
  • 建设工业网站seo推广技巧
  • 怎样注册网站免费的网络营销电子版教材
  • 网站建设怎么付费肇庆seo排名
  • 北京网站手机站建设公司电话搜索引擎优化关键字
  • 怎么做导购网站seo规范培训
  • 9e做网站seo网络优化
  • 南京网站开发联系南京乐识宁波正规优化seo价格
  • 北京软件开发学校哪个好济南做seo排名
  • 用什么工具建设网站山西网站seo
  • 如何用word做网站地图济南百度开户电话
  • 网站检索功能怎么做企业建站要多少钱
  • 电子书推送网站怎么做疫情最新数据
  • 网站推广建站设计外包网站
  • 一分钟做网站拼多多关键词优化步骤
  • 远程医疗型网站开发全球网站排名查询
  • 网站商城系统建设英文关键词seo
  • wordpress博客主题修改seo技术交流论坛
  • 陕西省建设厅人力资源网站seo助手
  • 一个网站需要多少网页宁波seo服务推广
  • 湖南省政府 网站建设最好的网站推广软件
  • 网站开发与设计培训营销模式
  • 章丘做网站单位哪家好seo目标关键词优化