使用GNUgdb调试Linux CC++可执行程序查看出错源代码、设置断点

使用GNUgdb调试Linux CC++可执行程序查看出错源代码、设置断点,第1张

gdb是GNU开源组织发布的一个强大的Linux程序调试工具,比图形化的调试工具更强大,主要来调试C/C++语言程序。

Debug 版本的可执行程序包含调试信息,用于程序员调试程序。

Release 版本的可执行程序往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以方便用户使用。

用gcc/g++编译时,要加上-g选项生成debug版本的可执行程序,否则就无法使用gdb调试了。

r 表示开始run, 如果在运行的过程中发生了错误,比如segmentation fault,可以查看此时的出错源代码:

通过b或者break设置断点,断点的设置可以通过函数名、行号、文件名+函数名、文件名+行号以及偏移量、地址等进行设置。

比如在function Peer_auto_save上设置断点,在peer.c的第136行设置断点:

从断点处继续运行

退出gdb

编译程序的时候 加上 -g 选项,它能在程序中加入调试信息。从而可以

使用GDB调试。

例如: gcc test.c -g -o test

然后 输入 gdb test ,进入gdb 调试, list 命令列出代码。

在哪一行设置断点就输入 break n ,

比如在第10行 就是 break 10 ,

run 是运行程序,到断点出 就停止,

print 变量名 可以观察变量的值,

cont 是继续运行,

n 是 next ,一步一步执行

你上网再搜索一些 关于 gdb 的信息 ,就可以了

codeblocks设置断点和单步调试方法:

主要是建一个project;

而且project要放在英文目录下面;

程序项目的目录里不能有中文;

new project->console application->选择c or c++ ->filename->有个debug要钩上->写程序;

编译后使光标定位在程序某处,按F4使程序运行到光标处,再按F7就可以单步调试,按Shift+F7单步进入。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8980282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存