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

网站建设方案范文网站制作工具

网站建设方案范文,网站制作工具,儿童 摄影 wordpress 模板,做网站手机版和电脑版怎么区分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.khdw.cn/news/63798.html

相关文章:

  • 做店标 做店招的网站seo分析案例
  • 微信小程序api是什么意思温州最好的seo
  • 天蝎网站建设公司网页seo搜索引擎优化
  • 企业网站管理系统软件营销型网站建设费用
  • 哪些购物网站有做拼团活动日本搜索引擎
  • 沈阳唐朝网站建设百度知道app
  • 如何看出网站用dede做的网络营销论文3000字
  • 工行网站如何做理财风险评估怎么收录网站
  • 汉中专业网站建设自动seo优化
  • 做网站业务员怎么查找客户windows优化大师好用吗
  • 局域网的网站建设网站推广如何收费
  • 广西建设执业资格注册中心网站广告联盟app推广
  • 如何用图片做网站背景郑州seo外包收费标准
  • 公司做网站算什么费用新网站应该怎么做seo
  • 建设一个旅游网站百度竞价广告投放
  • 做企业专业网站一般要多少钱广西关键词优化公司
  • 线上营销技巧和营销方法黑帽seo技术
  • 龙岗区网络科技有限公司seo最新优化技术
  • 在线手机动画网站模板网络营销是做什么
  • 自己做外贸 建一个网站seo推广的方法
  • 网站建设定制公众号小程序百度网盘资源
  • github怎么做网站的空间天津网站建设优化
  • 运城购物网站开发设计上海网站外包
  • iis 网站制作关键词代发排名
  • wordpress 极简设计360优化大师官方官网
  • 个人网站设计流程步骤成都网站排名优化公司
  • 研艺影楼网站建设互联网销售包括哪些
  • 校园网络设计方案广东网络优化推广
  • 做蛋糕招聘网站郑州百度推广代理公司
  • 有没有专做食品批发的网站软文营销步骤