温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统下如何使用GDB调试程序

发布时间:2022-01-24 14:23:00 来源:亿速云 阅读:218 作者:清风 栏目:开发技术

本文将为大家详细介绍“Linux系统下如何使用GDB调试程序”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“Linux系统下如何使用GDB调试程序”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具,GDB主要来调试C/C++语言写的程序,当然也就可以调试其他语言程序。

问题描述:

    Linux下使用GDB调试程序

问题解决:

    (1)生成调试文件

Linux系统下如何使用GDB调试程序

注:

   使用命令  gdb IOStream.c  -o IOStream -g 最后一个参数是生成gdb调试文件的参数信息(必不可少,否则生成的是可执行的文件)。

   上述出现如上的警告信息,解决的办法是在IOStream.c文件中引用  #include

   (2)载入生成的gbd文件IOStream

Linux系统下如何使用GDB调试程序

注:  

   在Console中输入gdb启动gdb调试

Linux系统下如何使用GDB调试程序

注:

    使用file IOStream  命令载入gdb文件

Linux系统下如何使用GDB调试程序

注:

set args 参数名 设置运行文件的参数值  

   show args 显示参数信息

   (3)源程序信息预览

Linux系统下如何使用GDB调试程序

注:

     使用命令 info souce 可以查看源程序信息。

   (4)源代码预览

Linux系统下如何使用GDB调试程序  ·    

注:

list     显示程序第linenum行的周围的源程序。  

 list     显示函数名为function的函数的源程序。    

 list      显示当前行后面的源程序。  

 list –     显示当前行前面的源程序。

 list +     显示当前行之后的源程序

Linux系统下如何使用GDB调试程序

注:

    使用list 显示指定行前后的部分代码

Linux系统下如何使用GDB调试程序

注:

   gdb调试时,屏幕信息太多,导致难以看清楚,这时可以使用 shell  clear 命令,清除当前屏幕信息。

  (5)设置断点

Linux系统下如何使用GDB调试程序

注:

   使用命令  b 或者 b 可以在指定行或者指定函数名称处设置断点。

Linux系统下如何使用GDB调试程序

注:

   使用info br 或者 info breakpoints 查看断点信息。

Linux系统下如何使用GDB调试程序

注:

  删除断点可以有以下几种方式:

(1)clear 行号

    (2)delete 断点号

    (3)clear 函数名

  上述三种方式都可以删除断点

    (4)删除所有断点 delete

 (5)开始调试

Linux系统下如何使用GDB调试程序

注:

   使用命令 run 或者 r 可以开始对载入的文件进行调试,程序在第一个断点处停止,可以使用命令 p 变量名 输出变量名对应的值。

 s 表示step的含义,单步执行

Linux系统下如何使用GDB调试程序

注:

next命令,是按照行执行,如果该行有函数调用,单步调试会跳转到程序中,next会执行运行结束该函数调用,无须进入。

Linux系统下如何使用GDB调试程序

注:

display命令,用于跟踪某个变量的变化,每次执行都会输出该变量的值。

   (6)终止调试

Linux系统下如何使用GDB调试程序

注:

命令kill 终止当前正在调试的程序

   (7)退出gdb

Linux系统下如何使用GDB调试程序

Linux有哪些版本

Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是国内发展最好的Linux发行版之一;UbuntuKylin是基于Ubuntu的衍生发行版;Manjaro是基于Arch的Linux发行版;LinuxMint默认的Cinnamon桌面类似Windows XP简单易用;Ubuntu则是以桌面应用为主的Linux操作系统。

感谢您能读到这里,小编希望您对“Linux系统下如何使用GDB调试程序”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI