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

专业的营销网站建设公司排名舆情监测系统排名

专业的营销网站建设公司排名,舆情监测系统排名,德阳北京网站建设,福建建设科技人才网站目录 前言 一、调试文件的生成 二、调试指令 1、选择调试文件 2、查看代码 3、运行代码 4、断点 5、打印与常显示 6、其他 总结 前言 前面我们学习了如何使用gcc/g来进行对代码进行编译,本章我们将使用gdb来对代码进行调试,学习本章的前提是有…

目录

前言

一、调试文件的生成

二、调试指令

1、选择调试文件

2、查看代码

3、运行代码

4、断点

5、打印与常显示

6、其他

总结


前言

        前面我们学习了如何使用gcc/g++来进行对代码进行编译,本章我们将使用gdb来对代码进行调试,学习本章的前提是有一定的调试基础,有在vs等软件上有调试经历的,若无这方面经历,建议先了解一下再来阅读本篇文章;

一、调试文件的生成

        gdb是Linux下一款命令式调试工具,我们在VS等IDE进行代码编写时,我们编写完代码,若代码运行结果不如我们所料,我们通常会去进行调试,而这里有一个细节,我们点F5编译并运行程序时,实际上这里的编译有两种选择,一种的Debug版本,另一种就是Release版本,我们必须选择Debug版本才可以进行调试,而gcc中默认是Release版本进行编译的,我们必须带上 -g选项才可,如下图所示,我写了如下代码,并进行编译;

#include <stdio.h>
// 从1加到100
int AddToHun()
{printf("Enter AddToHun\n");int ret = 0;int i = 0;                                                                                                                                             for(i = 0; i <= 100; i++){ret += i;}printf("Exit AddToHun\n");return ret;}int main()
{printf("Enter Main\n");int n = AddToHun();printf("ret=%d\n", n);printf("Exit Main");return 0;
}

        我们用下面指令分别编译出Release版本和Debug版本;

        我们不难看出我们的Debug版本比Release版本大一些,因为我们的Debug版本要保存调试信息,我们可以通过 readelf 来查看Debug版本是否真的保存了调试信息;

readelf -S 文件名

        我们看到其中保存了很多关于debug的信息;

二、调试指令

1、选择调试文件

        我们分别用Release版本的可执行程序和Debug版本的可执行程序进行调试,看是否如我们所料,Release版本可执行程序不可调试,以下为选择调试文件的指令;

gdb 要调试的文件

        我们选择Release版本可执行程序,我们发现gdb没有找到我们的调试信息,如上图所示,接着我们在试着选择Debug版本文件(输出q退出gdb);

        我们发现,刚才的提示消失了,证明了我们的Debug版本的可执行程序才可进行调试;

2、查看代码

l 行号:从指定行开始查看部分代码,我们需要继续输入 l ,才会显示后面的代码;

注意:我们可以直接回车换行,因为我们的gdb有记录上一次执行命令的功能;

3、运行代码

这里运行代码我们介绍三个指令,分别对应VS中的F5,F10和F11

r:运行代码直至遇到断电或程序结束(F5)

n:逐过程运行代码,遇到函数不进去(F10)

s:逐语句运行代码,遇得到函数进去(F11)

4、断点

b 行号:给指定行打上断点,此时gdb会给该断点分配编号

info b:显示当前有那些断点

d 断点编号:删除指定断点编号的断点

disable 断点编号:使指定断点失效

enable 断点编号:使指定断点有效

c:执行到程序末尾或下一个断点处停下来

5、打印与常显示

p 变量名:显示指定变量的值

display 变量名:常显示指定变量名(每次执行都会打印该变量值)

6、其他

bt:查看当前调用堆栈

finish:完成当前函数后停下来

until 行号:跳转至指定行

总结

        对于新手来说,我们学会上述所有指令即可,上述指令已经可以满足大部分需求,若有其他需求查看文档即可;

http://www.hkea.cn/news/824698/

相关文章:

  • 网站建设中 网页代码优化关键词排名公司
  • 网站标题优化怎么做泉州百度首页优化
  • 学习网站建设的是什么专业优化网站排名公司
  • 固定ip做网站西安网站建设推广
  • 做响应式网站好不好软文发布门户网站
  • 重庆做网站建设的公司哪家好最基本的网站设计
  • 长春网站制作wang网站营销软文
  • discuz 网站搬家市场营销的策划方案
  • 做婚礼网站的公司简介seo网站关键词优化软件
  • 哪些客户需要做网站推广平台排名前十名
  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务
  • 百度怎样做网站并宣传网站2023上海又出现疫情了
  • wordpress后台登录慢阳山网站seo
  • 深圳网站建设企网络推广运营途径
  • 给自己女朋友做的网站yandex搜索引擎
  • 购物网站建设教程怎么在网上做广告宣传
  • 冠县做网站推广网站怎么制作
  • 开封 网站建设苹果被曝开发搜索引擎对标谷歌
  • 东莞虎门高铁站百度客户端电脑版下载
  • 建网站怎么挣钱的学seo推广
  • 自如网站做的好 服务哪个网站学seo是免费的
  • 国外网站阻止国内访问怎么做竞价推广工具
  • 建设一个网站需要哪些方面的开支百度人工客服
  • 品牌网站建设-建站之路最新疫情新闻100字
  • 东莞网站优化科技有限公司怀柔网站整站优化公司
  • 郑州网站建设联系方式外链是什么意思