本文将为大家详细介绍“Linux系统下如何使用GDB调试程序”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“Linux系统下如何使用GDB调试程序”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。
问题描述:
Linux下使用GDB调试程序
问题解决:
(1)生成调试文件
注:
使用命令 gdb IOStream.c -o IOStream -g 最后一个参数是生成gdb调试文件的参数信息(必不可少,否则生成的是可执行的文件)。
上述出现如上的警告信息,解决的办法是在IOStream.c文件中引用 #include
(2)载入生成的gbd文件IOStream
注:
在Console中输入gdb启动gdb调试
注:
使用file IOStream 命令载入gdb文件
注:
set args 参数名 设置运行文件的参数值
show args 显示参数信息
(3)源程序信息预览
注:
使用命令 info souce 可以查看源程序信息。
(4)源代码预览
·
注:
list
显示程序第linenum行的周围的源程序。 list
显示函数名为function的函数的源程序。 list 显示当前行后面的源程序。
list – 显示当前行前面的源程序。
list + 显示当前行之后的源程序
注:
使用list
注:
gdb调试时,屏幕信息太多,导致难以看清楚,这时可以使用 shell clear 命令,清除当前屏幕信息。
(5)设置断点
注:
使用命令 b
注:
使用info br 或者 info breakpoints 查看断点信息。
注:
删除断点可以有以下几种方式:
(1)clear 行号
(2)delete 断点号
(3)clear 函数名
上述三种方式都可以删除断点
(4)删除所有断点 delete
(5)开始调试
注:
使用命令 run 或者 r 可以开始对载入的文件进行调试,程序在第一个断点处停止,可以使用命令 p 变量名 输出变量名对应的值。
s 表示step的含义,单步执行
注:
next命令,是按照行执行,如果该行有函数调用,单步调试会跳转到程序中,next会执行运行结束该函数调用,无须进入。
注:
display命令,用于跟踪某个变量的变化,每次执行都会输出该变量的值。
(6)终止调试
注:
命令kill 终止当前正在调试的程序
(7)退出gdb
Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是国内发展最好的Linux发行版之一;UbuntuKylin是基于Ubuntu的衍生发行版;Manjaro是基于Arch的Linux发行版;LinuxMint默认的Cinnamon桌面类似Windows XP简单易用;Ubuntu则是以桌面应用为主的Linux操作系统。
感谢您能读到这里,小编希望您对“Linux系统下如何使用GDB调试程序”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。