您的位置 首页 传感器

运用GDB命令行调试器调试C/C++程序

使用GDB命令行调试器调试C/C++程序-GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。相比于VS里面的图形化调试工具,其功能更加强大。

没有调试器的情况下编写程序时最糟糕的情况是什么?编译时跪着祈求不要犯错?用血祭呼唤恶魔帮你运转程序?或许在每一行代码间增加printf(“test”)句子来定位错误点?如你所知,编写程序时不运用调试器的话是不便利的。幸亏,linux下调试仍是很便利的。大多数人运用的IDE都集成了调试器,但 linux 最著名的调试器是指令行方式的C/C++调试器GDB。但是,与其他指令行东西共同,DGB需求必定的操练才干彻底把握。这儿,我会告知你GDB的基本情况及运用办法。

装置GDB

大多数的发行版库房中都有GDB

Debian 或 Ubuntu

$ sudo apt-get install gdb

Arch Linux

$ sudo pacman -S gdb

Fedora,CentOS 或 RHEL:

$sudo yum install gdb

如果在库房中找不到的话,能够从官网中下载。

示例代码

当学习GDB时,最好有一份代码,着手试验。下列代码是我编写的简略比如,它能够很好的表现GDB的特性。将它复制下来而且进行试验——这是最好的办法。

#include

#include

int main(int argc,char**argv)

{

int i;

int a=0, b=0, c=0;

double d;

for(i=0; i<100; i++)

{

a++;

if(i>97)

d = i /2.0;

b++;

}

return0;

}

GDB的运用

首要最重要的,你需求运用编译器的 “-g“选项来编译程序,这样可执行程序才干经过GDB来运转。经过下列句子开端调试:

$ gdb -tui [可执行程序名]

运用”-tui“选项能够将代码显现在一个美丽的交互式窗口内(所以被称为“文本用户界面 TUI”),在这个窗口内能够运用光标来控制,一起鄙人面的GDB shell中输入指令。

现在咱们能够在程序的任何地方设置断点。你能够经过下列指令来为当时源文件的某一行设置断点。

break[行号]

或许为一个特定的函数设置断点:

break[函数名]

乃至能够设置条件断点

break[行号]if[条件]

例如,在咱们的示例代码中,能够设置如下:

break11if i >97

这样,程序循环97次之后停留在“a++”句子上。这样是十分便利的,避免了咱们需求手动循环97次。

 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/99774.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部