欢迎访问盛大娱乐场备用网
你的位置:首页 >  > 故事 > 文章正文

盛大娱乐场备用网

时间: 2020年02月21日 00:53 | 来源: 洒脱男人°﹋ | 编辑: 承又菡 | 阅读: 5892 次

盛大娱乐场备用网

不管多么有经历的程序员,开发的任何软件都不也许彻底没有 bug。因而,排查及修正 bug 变成软件开发周期中最主要的使命之一。有许多办法能够排查 bug(测验、代码自审等等),可是还有一些专用软件(称为调试器)能够协助精确定位疑问的地点,以便进行修正。

假如你是 C/C++ 程序员,或许运用 Fortran 和 Modula-2 编程言语开发软件,那么你将会很愿意知道有这么一款优异的调试器 - GDB - 能够帮你更轻松地调试代码 bug 以及其它疑问。在这篇文章中,咱们将评论一下 GDB 调试器的根底常识,包含它供给的一些有用的功用/选项。

在咱们开端之前,值得一提的是,文章中的一切阐明和示例都现已在 Ubuntu 14.04 LTS 中测验过。教程中的示例代码都是 C 言语写的;运用的 shell 为 bash(4.3.11);GDB 版别为 7.7.1。

GDB 调试器根底

浅显的讲,GDB 能够让你看到程序在履行进程时的内部流程,并帮你清晰疑问的地点。咱们将在下一节经过一个有用的示例来评论 GDB 调试器的用法,但在此之前,咱们先来评论一些以后对你有协助的根本关键。

首要,为了能够顺畅运用相似 GDB 这么的调试器,你有必要以指定的办法编译程序,让编译器发作调试器所需的调试信息。例如,在运用 gcc 编译器(咱们将在本教程以后的章节用它来编译 C 程序示例)编译代码的时分,你需求运用 -g 指令行选项。

想要了解 gcc 编译器手册页中对于 -g 指令行选项有关的内容,请看这儿。

下一步,保证在你的体系中现已装置 GDB 调试器。假如没有装置,并且你运用的是根据 Debian 的体系(如 Ubuntu),那么你就能够运用以下指令轻松装置该东西:

在其他发行版上的装置办法,请看这儿。

如今,当你依照上述的办法编译完程序(gcc -g 指令行选项),一起也现已装置好 GDB 调试器,那么你就能够运用以下指令让程序在调试形式中运转:

这么做会初始化 GDB 调试器,但你的可履行程序此刻还不会被发动。在这个时分你就能够界说调试有关的设置。例如,你能够在特定行或函数中设置一个断点让 GDB 在该行暂停程序的履行。

接着,为了发动你的程序,你有必要输入履行以下 gdb 指令:

在这儿,值得一提的是,假如你的程序需求一些指令行参数,那么你能够在这儿指定这些参数。例如:

GDB 供给了许多有用的指令,在调试的时分老是能派的上用场。咱们将在下一节评论其间一部分指令。

GDB 调试器用例

如今咱们对 GDB 及其用法有了根本的概念。因而,让咱们举例来运用所学的常识。这是一段示例代码:

简略阐明一下这段代码要做什么事。获取 val 数组中每一个值,将其赋值给 out 变量,然后将 tot 之前的值与 0xffffffff/out 的成果值累加,赋值给 tot 变量。

这儿遇到的疑问是,当履行这段代码编译后的可履行程序时,发作以下过错:

因而,要调试这段代码,榜首步是运用 -g 选项编译程序。指令如下:

接着,让咱们运转 GDB 调试器并指定要调试的可履行程序。指令如下:

如今,我方才得到的过错是 Floating point exception,大多数人也许现已知道,这是由于 n % x,当 x 为 0 时致使的过错。所以,考虑到这一点,我在 11 行代码除法运算的方位处添加了一个断点。如下:

留意 (gdb) 是调试器的提示信息,我只输入了 break 11 指令。

如今,让 GDB 开端运转程序:

当断点首次被射中时,GDB 显现如下输出:

正如你所看到的那样,调试器会显现断点地点的行代码。如今,让咱们打印出此刻 out 的值。如下:

如上所示,值 5 被打印出来了。这个时分一切都仍是正常的。让调试器持续履行程序直到射中下一个断点,能够经过运用 c 指令来完结:

重复上述操作,直到 out 值变为 0 时。

如今,为了进一步承认疑问,我运用 GDB 的 s(或 step) 指令替代 c 指令。由于,我只想让当时程序在第 11 行以后暂停,再一步步履行,看看这个时分是不是会发作溃散。

以下是履行以后输出信息:

是的,如上输出的榜首行内容所示,这即是抛出反常的当地。当我再次测验运转 s 指令时,疑问终究也得到了承认:

经过这种办法,你就能够运用 GDB 调试你的程序。

总结

GDB 供给了许多功用供用户研讨和运用,在这儿,咱们仅仅只介绍了很少一部分内容。经过 GDB 的手册页能够进一步了解这个东西,当你在调试代码的时分,测验运用一下它。GDB 调试器有必定的学习难度,可是它很值得你下功夫学习。



  “尽力气为孩子发明条件”的张女士仍是想下手一套邻近有优异教学资本的住所。

十年前 他受乔布斯约请 写下了这篇iPhone评测

  最“吸粉”的交通工具</p>mso-height-rule:exactly">




    “智能机器人与体系”世界学术会议暨智能机器人与体系高精尖立异基地(下称基地)新址启用典礼在北京理工大学举行。北京市教委副主任叶茂林,北理工校长胡海岩院士,中科院沈阳自动化所王天然院士,浙江大学杨华勇院士以及大会特邀嘉宾日本丰田公司机器人首席科学家玉置章文,IEEE第十区范畴主席、外专千人福田敏男教授,意大利比萨圣安娜大学仿活力器人研讨所所长、短期外专千人Paolo
Dario教授等80余位国内外专家到会了这次典礼及研讨会。启用典礼由北理工常务副校长杨宾掌管。

  典礼上,北理工校长、施行方案领导小组组长胡海岩院士致欢迎辞,北京市教委副主任叶茂林宣布说话,基地主任、北理工副校长陈杰教授向与会嘉宾及专家专家介绍了基地整体状况。北理工党委书记赵长禄观赏了基地新的研制环境,听取了基地负责人对营建世界化研制安排,硬件环境状况的报告,并要点对基地建造获得的阶段性效果进行了检视,提出了名贵的辅导定见。

  基地依托北京理工大学,瞄准世界科技前沿和国家科技严重需要,环绕运动仿生学、多标准感知与操作、活力电融合与交互、体系控制与集成、仿生功用安排与单元等研讨方向,打破智能机器人与体系范畴前沿理论办法与技能瓶颈,处理一系列严重、前沿的科学疑问,创造一批智能效劳机器人立异商品,推进智能机器人及其体系工业开展,将基地建造成为具有世界影响力科技立异渠道、多样化的世界交流与人才培养基地,为北京建造全国科技立异基地贡献力量。


  孟富贵的研讨范畴是我国现今世文学,《三国演义》是古典小说,这二者之间的反差恰是“名家讲经典”讲座想要到达的作用——不必定由古典文学的专家解说古典文学经典名著,这是一次文学课,而不是十分专深的学术课。“《三国演义》到三十六回的时分诸葛亮还没有呈现,三十七回刘备领着关羽和张飞去草庐三顾。但写诸葛亮的时分先写诸葛亮住的当地,山不是很高,但十分高雅,地不是很大,但十分平整,水不是很广大,可是十分弄清,这必定是高士住的当地。如今的小说很少有景象描绘,急着讲故事,着急推动情节。《三国演义》不只有景象描绘,还有古风,比方讲诸葛亮的身世,写得画中有诗。”抗战文学作品中也有《三国演义》的影子,“《三国演义》中有‘五虎上将’《铁道游击队》也有,《烈火金刚》也是五个英豪,《三国演义》不只在民间源源不绝,对咱们的文学创造也有首要的影响。”

  烟台小米之家在微博下谈论到“雷蛇(Razer)是全球尖端游戏设备品牌之一,1998年由CEO Min-Liang Tan和Robert "Razerguy" Krakoff创立于美国加州圣地亚哥。&rdquo;

(承又菡编辑《洒脱男人°﹋》2020年02月21日 00:53 )

文章标题: 盛大娱乐场备用网

[盛大娱乐场备用网] 相关文章推荐:

Top