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

网站开发业绩培训机构招生方案模板

网站开发业绩,培训机构招生方案模板,什么网站做装修公司广告比较好,建设工程合同纠纷案件管辖绪论​ “不用滞留采花保存,只管往前走去,一路上百花自会盛开。 ——泰戈尔”。本章是Linux工具篇的最后一章。gdb调试工具是我们日常工作中需要掌握的一项重要技能我们需要基本的掌握release和debug的区别以及gdb的调试方法的指令。下一章我们将进入真正…

绪论​
“不用滞留采花保存,只管往前走去,一路上百花自会盛开。 ——泰戈尔”。本章是Linux工具篇的最后一章。gdb调试工具是我们日常工作中需要掌握的一项重要技能我们需要基本的掌握release和debug的区别以及gdb的调试方法的指令。下一章我们将进入真正的进入到Linux操作系统敬请期待(早关注不迷路)。请添加图片描述话不多说安全带系好,发车啦(建议电脑观看)。 思维导图:


1.debug模式和release模式

在了解debug和release之前,先对公司在要开发某个项目时所要经历的过程有个大概的了解:

  1. 确立项目
  2. 搭配资源(开发人员、测试人员、项目经理(负责项目进程)、产品经理(该产品的主要负责人)…)
  3. 开始开发
  4. 进行测试
  5. 上线(灰度上线(内测阶段)-> 正式上线)
    1. 运营人员(项目的推广)
    2. 运维人员(解决出现的bug)

在上面阶段中,我们作为开发人员,我们在开发编程过程中最终编写好的程序就是以debug模式,而注意的是最终交给测试人员时是以release模式的。
原因在于(也就是debug、release模式是什么):

  1. debug模式下才能进行代码的调试,因其中包含许多调试信息(导致多占用一些空间)。
  2. 所以反之release模式下就没有了调试信息这样就能节约一定的空间(也就不能调试)。
  3. release模式下还对代码会有许多的优化让其大小和运行速度上都到最优的状态(如:删除未使用的代码、内联函数等),所以我们普通用户用的就是release版本,所以测试人员也应该测试该版本。

所以当测试人员测试处出现bug后就会再次交还给开发人员来修复,3 4阶段不断重复,最终测试完成才上线。
注意:我们在使用gcc/g++进行编译时,默认生成的是以release模式的、vim使用时默认是命令模式

2. gdb

gdb也就是Linux下的一个用来调试的工具,其就是通过指令的方式来进行一系列调试工作(打断点、查看变量信息、…)
其中注意的是:因为gcc默认生成的是release的所以,我们需要在常规用gcc生成可执行程序(gcc -o $@ $^)时,多加个附加指令 -g

2.1为什么debug模式的文件大小 > release模式的文件大小

  1. debug模式下会生成的可执行程序会添加调试信息,反之release模式下没有
    证明:下面我们生成两个模式的可执行程序进行观察在这里插入图片描述
    注意生成debug模式的需要对gcc添加附加指令 -g
    在这里插入图片描述
    我们用Makefile生成了两种模式的可执行程序,可以发现debug模式下的文件的大小要大于release模式下的(下图第五列表示文件大小!),其中就是因为有调试信息导致的。在这里插入图片描述

可能上面的不够有说服力,那么我们用更加显著的证据来证明:
因为我们在Linux下形成的可执行程序格式转换成二进制的方法就是通过ELF格式来完成的,它包含许多可执行程序的信息,代码的开始、结束、代码和数据的区分、入口地址、程序的加载…
下面一个新指令readelf -S 可执行程序(就能查看一个可执行程序的二进制构成)在这里插入图片描述
那么我们要查看这个程序中是否含有调试信息,我们就能通过grep过滤器去找,readelf -S 可执行程序 | grep -i debug(-i 忽略大小写 , debug调试信息名)在这里插入图片描述
从上图中就能发现release模式下就没有debug信息,而debug模式下则过滤出来了。

2.2gdb的使用指令

  1. 运行gdb:gdb 可执行程序
  2. 退出gdb:quit在这里插入图片描述
  3. 查看代码:l(list)
    1. 默认情况下他会自动显示重要的部分在这里插入图片描述
    2. 指定开始的位置用:l 开始的行号(但只会显示部分)
    3. 查看某个函数:l 函数名在这里插入图片描述
    4. 再按回车就会继续往下显示,当显示完成后就无法再按(因为gdb会记录历史命令,按回车就是再次执行上面的命令在这里插入图片描述
  4. 执行代码(相当于直接VS下的F5)进行调试:r(run)在这里插入图片描述
    1. 若有断点就命中,反之则直接执行完了
  5. 在某行打断点:b 行号(break point)
    1. 若存在可执行程序中有多个源文件可以用 b 源文件名 : 行号
    2. 还可以直接对函数进行打断点:b 函数名 ,打到函数入口处(第一条指令)
  6. 查看打过的断点:info b
    1. 每个断点都有自己的编号NUM在这里插入图片描述
    2. 显示当前局部域的全部变量:info local在这里插入图片描述
  7. 删除断点:d 断点编号
    1. 注意在gdb运行期间,删除后的断点编号不会被后面新增的断点覆盖(也就是后面的断点的编号是不断增加的,不会覆盖之前的)在这里插入图片描述
  8. 关闭断点、启用断点:disable 断点编码、enable 断点编码
    1. 在info信息中的Enb信息代表着断点是否启用其中:y表示启用(yes)、n表示关闭(no)
  9. 逐语句(相当于VS中的F11,单步往后走碰到函数会进入):s
  10. 逐过程(相当于VS中的F10,若有函数并不会进入内部) :n在这里插入图片描述
  11. 查看变量(监视器):p变量名在这里插入图片描述
  12. 常显示某个变量(用p只能查看当前,display可以一直关注其变化):display 变量名在这里插入图片描述
    1. 若要删除某个常显示的变量用 undisplay 编号(display时前面会给变量添加编号)在这里插入图片描述
  13. 直接跳到某行:until 行号(运行到指定行)在这里插入图片描述
  14. 直接运行完当前所在函数finish(跑到当前函数的结尾)在这里插入图片描述
  15. 直接运行到下一个断点:c在这里插入图片描述
  16. 查看调用的堆栈:bt
  17. 直接在gdb中改变变量的值:set var 变量名 = 改后的值
  18. 当退出gdb后,打过的断点信息就会被移除。

本章完。预知后事如何,暂听下回分解。

如果有任何问题欢迎讨论哈!

如果觉得这篇文章对你有所帮助的话点点赞吧!

持续更新大量Linux细致内容,早关注不迷路。


文章转载自:
http://greenbrier.c7627.cn
http://struthioid.c7627.cn
http://slavery.c7627.cn
http://radii.c7627.cn
http://coxless.c7627.cn
http://perspectively.c7627.cn
http://ropewalker.c7627.cn
http://spirituous.c7627.cn
http://nephrolith.c7627.cn
http://micrometeorite.c7627.cn
http://sausageburger.c7627.cn
http://eelpot.c7627.cn
http://shape.c7627.cn
http://misperceive.c7627.cn
http://watchdog.c7627.cn
http://expansibility.c7627.cn
http://feud.c7627.cn
http://gumbah.c7627.cn
http://autosum.c7627.cn
http://deposal.c7627.cn
http://platonism.c7627.cn
http://mobbist.c7627.cn
http://psig.c7627.cn
http://geotactic.c7627.cn
http://inulin.c7627.cn
http://auditorial.c7627.cn
http://prototype.c7627.cn
http://sebastopol.c7627.cn
http://saintly.c7627.cn
http://roadway.c7627.cn
http://solitarily.c7627.cn
http://circumnavigate.c7627.cn
http://heirless.c7627.cn
http://embraceor.c7627.cn
http://proudly.c7627.cn
http://uptake.c7627.cn
http://acls.c7627.cn
http://kinetocamera.c7627.cn
http://basifugal.c7627.cn
http://instructor.c7627.cn
http://foco.c7627.cn
http://plurally.c7627.cn
http://sei.c7627.cn
http://herein.c7627.cn
http://jerreed.c7627.cn
http://audiometrist.c7627.cn
http://cytogenetically.c7627.cn
http://rushee.c7627.cn
http://cainogenesis.c7627.cn
http://hillock.c7627.cn
http://crossbreed.c7627.cn
http://sidonian.c7627.cn
http://noserag.c7627.cn
http://circumvascular.c7627.cn
http://pheasantry.c7627.cn
http://pent.c7627.cn
http://deputation.c7627.cn
http://satinize.c7627.cn
http://trainset.c7627.cn
http://midgarth.c7627.cn
http://chalicosis.c7627.cn
http://altarpiece.c7627.cn
http://undo.c7627.cn
http://hermaphrodism.c7627.cn
http://countermortar.c7627.cn
http://glaciated.c7627.cn
http://astromancer.c7627.cn
http://bop.c7627.cn
http://dilemma.c7627.cn
http://skywalk.c7627.cn
http://whangee.c7627.cn
http://loamless.c7627.cn
http://zoomy.c7627.cn
http://changeroom.c7627.cn
http://forrader.c7627.cn
http://contemplator.c7627.cn
http://phonographic.c7627.cn
http://adder.c7627.cn
http://spite.c7627.cn
http://mactation.c7627.cn
http://antileukemia.c7627.cn
http://mating.c7627.cn
http://unburned.c7627.cn
http://diabetogenic.c7627.cn
http://forasmuch.c7627.cn
http://macrocytosis.c7627.cn
http://unchangeably.c7627.cn
http://elysium.c7627.cn
http://narky.c7627.cn
http://arrondissement.c7627.cn
http://hyacinth.c7627.cn
http://megaphone.c7627.cn
http://crunkle.c7627.cn
http://cove.c7627.cn
http://endosulfan.c7627.cn
http://paradisaic.c7627.cn
http://porphyrize.c7627.cn
http://esophageal.c7627.cn
http://cabasset.c7627.cn
http://discreetness.c7627.cn
http://www.zhongyajixie.com/news/84423.html

相关文章:

  • 做网站还要数据库吗站长工具seo查询
  • 当今做网站的流行2024年小学生简短小新闻
  • 做行程的网站推荐游戏行业seo整站优化
  • 顺德水利和国土建设局网站百度运营推广
  • 照明公司网站制作收录情况有几种
  • 电子商城网站开发多少钱网页设计与制作用什么软件
  • 做精美得ppt网站知乎2022知名品牌营销案例100例
  • 深圳营销型网站建设电话百度推广电话客服
  • 泉州做网站排名培训方案模板
  • 外贸网站做的作用是什么石家庄seo推广公司
  • 专业制作彩铃网站电脑培训班零基础网课
  • 网站开发qq群国外搜索引擎排名百鸣
  • 长春自助建站系统平台代运营是什么意思
  • 邯郸哪做网站青岛seo招聘
  • 做网站怎么弄推广引流吸引人的文案
  • 做h游戏视频网站武汉seo认可搜点网络
  • 优购物官方网站手机上海网络seo
  • 汽车精品设计网站建设iis搭建网站
  • 为解析的域名做网站活动软文模板
  • 网站开发制作价格江阴企业网站制作
  • 青岛做商城网站怎么在百度上推广
  • 合肥专业网站设计公司价格百度客服人工电话
  • wordpress 主机平台贵阳seo网站推广
  • 漯河市住房和城乡建设局网站网络营销策划方案范文
  • 用django怎么做网站跟我学seo
  • 登录网站软件怎么做网站上做推广
  • 网站前台显示数据库指定分类怎么做php西安网站推广慧创科技
  • 宁波网站建设h5竞价推广代运营企业
  • 西安营销型网站建设网站推广及seo方案
  • 做网站服务器配置百度推广的优化软件