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

西安网站建设制作熊掌号企业培训

西安网站建设制作熊掌号,企业培训,泰安市大众人才网,php简易购物网站开发文章目录一、gdb简介二、gdb的安装三、gdb使用3.1、release和debug版本3.2、gdb基本使用命令1、启动gdb2、调试命令3、显示代码(list)4、断点命令(breakpoint)5 、变量命令(variable)6、特殊调试命令7、调用…

文章目录

  • 一、gdb简介
  • 二、gdb的安装
  • 三、gdb使用
    • 3.1、release和debug版本
    • 3.2、gdb基本使用命令
      • 1、启动gdb
      • 2、调试命令
      • 3、显示代码(list)
      • 4、断点命令(breakpoint)
      • 5 、变量命令(variable)
      • 6、特殊调试命令
      • 7、调用堆栈命令
      • 8、显示当前函数内临时变量:info locals

一、gdb简介

GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 对于一名Linux下工作的c/c++程序员,gdb是必不可少的工具;

二、gdb的安装

sudo yum install -y gdb

三、gdb使用

3.1、release和debug版本

在进行程序开发的过程中,有两个版本,一个是release版本,一个是debug版本。我们都知道,如果要进行调试程序,这个程序必须的debug版本的我们才可以进行调试的。

在Linux中查看程序版本:

readelf -S test

在这里插入图片描述
这里我们可以发现并没有关于debug的信息。其实在Linux中,gcc/g++编译器默认生成的版本是release版本的,如果想进入debug版本,我们就要带-g选项

gcc mytest.c -o mytest -g

在这里插入图片描述
在这里插入图片描述
总结:

  • 程序的发布方式有两种,debug模式和release模式
  • Linux中gcc/g++编译器默认生成的可执行程序是release模式
  • 要使用gdb调试,必须加上 -g 选项

3.2、gdb基本使用命令

1、启动gdb

gdb + 可执行程序文件,如下:

gdb mytest_g 
gdb -q mytest_g //表示不打印gdb版本信息,界面较为干净;

在这里插入图片描述

在这里插入图片描述

2、调试命令

与vs中的调试命令进行对比:
gdb中:

名称命令解释
开始运行run(r)相当于开始调试F5,执行代码后会在断点处停下
逐语句step(s)相当于F11,有函数会进入函数内部
逐过程next(n)相当于F10,不会进入函数内部,执行整条语句;

像逐过程、逐语句这样的命令一次输入之后,可直接回车仍会再次执行。

vs2019中:
在这里插入图片描述
运行演示:

  1. 直接调试
    在这里插入图片描述

  2. 逐过程
    在这里插入图片描述

  3. 逐语句
    在这里插入图片描述

3、显示代码(list)

名称命令解释
可指定行号list(l) + [N]从第 N 行开始显示 10 行代码,可接着上次的位置继续打印
可指定函数名list(l) + Name从函数起始位置左右开始显示代码

在这里插入图片描述

4、断点命令(breakpoint)

名称命令解释
某行打断点b + N在某行打上断点
函数打断点b + FuncName在函数内起始位置打断点
查看断点info + b显示断点信息列表
删除断点d + N删除序号为 N 的断点,省略序号就是删除所有断点
启用断点enable + N 启用序号为 N 的断点,省略序号就是启用所有断点
禁用断点disable + N禁用序号为 N 的断点,省略序号就是禁用所有断点

在这里插入图片描述

5 、变量命令(variable)

名称命令解释
监视变量display + ValName以列表的形式常显示在屏幕下方,类似于vs中的监视
取消监视undisplay + N去掉监视列表中的序号为 N 的变量的常显示
查看变量p + Name打印变量的值,不会常显示
修改变量set + Name设置指定变量的值

在这里插入图片描述

6、特殊调试命令

名称命令解释
结束当前函数finishfinish 会直接结束当前函数的调用,并停止在函数返回位置
继续运行continue(c)continue 继续运行至下一个断点,相当于F5
运行至指定行until + N运行至当前函数内部的第 N 行

在这里插入图片描述

在这里插入图片描述

7、调用堆栈命令

名称命令解释
调用堆栈breaktrace/bt查看程序各级栈帧的调用情况

在这里插入图片描述

8、显示当前函数内临时变量:info locals

名称命令解释
显示当前函数内临时变量info locals显示当前函数内临时变量

在这里插入图片描述

http://www.dinnco.com/news/27047.html

相关文章:

  • 制作网页小图片关键词优化搜索排名
  • 做游戏都需要什么网站吗百度网址是多少 百度知道
  • 五 网站开发总体进度安排手机seo快速排名
  • 南京医疗网站建设seo顾问阿亮
  • 网站换域名要怎么做找培训班一般在什么平台
  • nginx怎么做多个网站东莞海外网络推广
  • 域名注册以后会给你一个账户名密码上传做好的网站seo关键词优化外包
  • 世界杯直播观看网站seo排名优化app
  • 公司网站建设整体架构百度竞价网站
  • 四川做网站有哪些公司搜索引擎优化的作用是什么
  • 做饼干的网站沈阳百度seo关键词优化排名
  • 品牌网站建设解决方网页制作模板的网站
  • 不错的网站建设公seo教程seo教程
  • 企业网站建设方案 完整版广告营销方式有哪几种
  • 企业为什么要做网站 作用是什么专业北京seo公司
  • 怎么做刷业网站品牌推广营销
  • 做网站分辨率多少钱建网站的流程
  • 内蒙包头网站开发现在推广一般都用什么软件
  • 找企业网站制作网站优化联系
  • 杭州市住房和城乡建设厅网站网站备案查询
  • 免备案空间免费seo怎么提升关键词的排名
  • 做原创的网站谷歌官方网站首页
  • 淄博周村网站建设定制新闻营销发稿平台
  • 公司网站开发毕业论文推广普通话手抄报图片
  • 天津外贸优化公司seo外包公司优化
  • wordpress如何修改logo排名优化网站seo排名
  • 流量网站应该怎么做百度一下官网
  • cnd中国设计网官网seo网站优化做什么
  • WordPress网站积分系统广州网站推广排名
  • 附近做广告牌的电话优化关键词技巧