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

网站建设方案范文湖人队最新消息

网站建设方案范文,湖人队最新消息,在香港做网站需要什么,网页游戏大厅在线玩gdb的基本使用前言准备gdb工具调试须知gdb的基本指令进入调试退出调试显示代码及函数内容运行程序给程序打断点查看断点位置断点使能取消断点逐过程调试逐语句调试运行到下一个断点查看变量的值变量值常显示取消变量值常显示前言 在主页前面的几篇文章已经介绍了Vim编辑器及Ma…

gdb的基本使用

  • 前言
  • 准备gdb工具
  • 调试须知
  • gdb的基本指令
    • 进入调试
    • 退出调试
  • 显示代码及函数内容
    • 运行程序
    • 给程序打断点
    • 查看断点位置
    • 断点使能
    • 取消断点
    • 逐过程调试
    • 逐语句调试
    • 运行到下一个断点
    • 查看变量的值
    • 变量值常显示
    • 取消变量值常显示

前言

在主页前面的几篇文章已经介绍了Vim编辑器及Makefile编译工具的使用。但在实际编程中往往事与愿违,所写代码中有一些小bug需要修改一下。请添加图片描述
用过Vs的应该知道,我们调试需要知道程序执行的某一个细节,包括变量的值、函数的调用过程等从而发现隐藏的错误代码。
但是Linux没有图形化界面,所以需要借助工具来进行代码调试,当然这个工具对于初学者可能会不太适应。请添加图片描述

准备gdb工具

首先检查一下自己Linux是否安装有gdb工具
命令:gdb -v
作用:查看gdb的版本号
在这里插入图片描述
如果显示出gdb的版本,则说明已经安装。

如果没有安装则根据以下操作
命令:yum -y install gdb
作用:安装gdb

调试须知

可执行程序有两种编译版本,一个是Debug版本另一个是Release版本

Debug 通常称为调试版本,它包含调试信息,并且不作程序优化,便于程序员调试程序。

Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用,但其不包含调试信息

为什么要先对这两个版本进行解释呢?因为Linux下gcc/g++默认编译出的版本为Release版本;是不带调试信息的无法使用 gdb 工具对其进行调试。
如下图请添加图片描述
实际上使用gcc/g++进行编译,如果我们需要Debug版本需要在编译指令上加 -g 命令
如:gcc -o testDebug test.c -g
在这里插入图片描述
总结:
1:程序的编译有两种一个是Debug版本另一个是Release版本
2:Linux下gcc/g++的默认编译方式是编译出Release版本
3:要用gdb调试工具就必须在编译时加上 -g 选项,使其可执行程序为Debug版本

gdb的基本指令

首先咱看一下本文所用的被调试文件test.c中的代码如下
在这里插入图片描述
下面是我总结的命令,后面我会示范一些常用的给大家

gdb 文件名 :进入调试
q :退出gdb
l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。
l 函数名:列出某个函数的源代码。
r :运行程序
b 行号:在某一行设置断点
b 函数名:在某个函数开头设置断点
info b :查看所有信息。
d break:删除所有断点
d 断点编号 :删除序号为n的断点
disable breakpoints 断点编号:禁用断点
enable breakpoints 断点编号:启用断点
n :单条执行。
s :逐语句调试/进入函数调用
finish:执行到当前函数返回,然后挺下来等待命令
p 变量:打印变量值。
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay:取消对先前设置的那些变量的跟踪
set var:修改变量的值
continue(或c):从当前位置开始连续而非单步执行程序
run(或r):从开始连续而非单步执行程序
info(或i) breakpoints:参看当前设置了哪些断点
until X行号:跳至X行
breaktrace(或bt):查看各级函数调用及参数
info(i) locals:查看当前栈帧局部变量的值

进入调试

命令:gdb 文件名
作用:启动调试
注意:只是启动调试,程序并没有运行
如下图:
在这里插入图片描述

退出调试

命令:q
作用:退出调试请添加图片描述

显示代码及函数内容

命令:l
作用:显示当前执行代码及周围10行,l 的特点是每次只显示10行
在这里插入图片描述
命令:l 行号
作用:显示指定行号内容
在这里插入图片描述
命令:l 行号,行号
作用:显示指定行号内的内容,如下图 l 7,11 命令表示显示7到11行的内容。这种命令方式因为是指定式的所以可显示10行以上的内容。
在这里插入图片描述
命令:l 函数名
作用:显示函数代码
在这里插入图片描述

运行程序

命令r
作用:运行程序
注意:此命令和Vs中的F5功能一致,运行过程中遇到断点才会停下,如果没遇到断点程序会直接运行致结束
在这里插入图片描述

给程序打断点

命令:b 行号
作用:给指定行号打断点方便调试
在这里插入图片描述

查看断点位置

命令:info b
作用:查看程序中各断点位置
在这里插入图片描述
解释:
Num : Num下方是断点编号(取消断点时需要用到断点编号)
Type : 表示该标记是断点
Enb : 代表使能,y代表打开, n代表关闭
what : 表示改断点在那个函数和文件中及在第几行

断点使能

命令:disable breakpoint 断点编号
功能:该断点使能关闭(该断点功能不生效)
在这里插入图片描述
命令:enable breakpoint 断点编号
功能:该断点使能打开(该断点功能生效)
在这里插入图片描述

取消断点

命令: d 断点编号
作用:取消该断点
注意:取消断点用的是断点编号(用info b 查看),不是用行号;
在这里插入图片描述
命令:d break
作用:取消所有断点
在这里插入图片描述

逐过程调试

命令: n
功能:逐过程调试(和vs调试时的F10一致)
在这里插入图片描述

逐语句调试

命令:s
功能:逐语句调试
在这里插入图片描述

运行到下一个断点

命令:c
作用:运行到下一个断点
在这里插入图片描述

查看变量的值

命令:p 变量
功能:查看变量的值
在这里插入图片描述
命令:p &变量
功能:查看变量的地址
在这里插入图片描述

变量值常显示

上一个命令 p ,只能显示一次变量的值。如果我们想一直看着变量的变化就得用其他命令。
命令:display 变量名(或取地址)
功能:跟踪显示某个变量的值,每次停下都显示他的值
请添加图片描述

取消变量值常显示

命令:undisplay 编号
功能:取消变量值常显示
在这里插入图片描述

http://www.fp688.cn/news/160339.html

相关文章:

  • 网页版云游戏seo排名优化工具
  • ux与ui设计的区别seo关键词排名优化怎么样
  • 佛山网站建设有哪些网络推广策划方案
  • 济南软件外包公司seo系统培训班
  • 孝昌县专注网站建设代理推广软文300字
  • 做国外的批发网站有哪些长沙网站seo源头厂家
  • 金融学类就业方向及就业前景提升神马seo关键词自然排名
  • 对文化传播网站建设的建议手机优化软件下载
  • 成都易锐互动科技有限公司舟山百度seo
  • 嘉兴做网站美工的工作制作自己的网页
  • 庆阳网站设计可以推广的软件有哪些
  • 个人 可以做网站备案吗浅议网络营销论文
  • 网站建设与维护总结国外搜索网站排名
  • 怎么用微信官方网站做二维码佣金高的推广平台
  • 做网站我们是认真的seo全网推广
  • 网站一般用什么语言做天津seo推广软件
  • 呼和浩特市做网站的企业广告推广软件
  • 宣城高端网站建设在线制作网页网站
  • wordpress建站说明seo查询站长工具
  • wordpress iframe页面佛山百度seo代理
  • 手游传奇网站999服百度推广登录
  • 开发工具都有哪些广州百度seo
  • 信息作业网站下载传播易广告投放平台
  • 本地搭建网站ip软件点击百度竞价推广
  • 做免费导航网站石家庄seo推广优化
  • 自己建立网站的方法万网建站
  • 支持asp的免费空间 适合钓鱼网站苏州网络公司
  • 成都模板网站建设品牌网络推广外包
  • 苏州网站制作公司运营商大数据精准营销获客
  • 电脑网站页面怎么调大小百度网站优化培训