千家信息网

gdb调试工具的使用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,为了将原来有错的程序,找出问题所在,因修改源代码,输出正确的程序,对于刚学linux的菜鸟来说,使用gdb调试错误的信息再合适不过了,如果你是c语言的高手的话,就不必看下述内容了,因为这仅仅适合菜鸟调
千家信息网最后更新 2026年11月02日gdb调试工具的使用

为了将原来有错的程序,找出问题所在,因修改源代码,输出正确的程序,对于刚学linux的菜鸟来说,使用gdb调试错误的信息再合适不过了,如果你是c语言的高手的话,就不必看下述内容了,因为这仅仅适合菜鸟调试几十行代码使用的工具。

下面我就举例为大家说明怎样使用好gdb调试,找到错误的信息

#include

#include

#include


int display1(char *string);

int display2(char *string);


int main()

{

char string[] = "hallo world";

display1(string);

display2(string);

}


int display1(char *string)

{

printf("The original string is %s\n",string);

}


int diaplay2(char *string1)

{

char *string2;

int size,i;

size = (char *)malloc(size+1);

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

{

string2[size - i] = string[i];

}

string2[size+1] = ' ';

printf("the string after is %s\n",string2);

free(string2);

}

当代码输入后,进行编译使用gcc -g test.c test 然后./a.out 发现结果并不是我们想要的结果,应该出现 一行是hello world 另一行是hallo world的倒叙输出,可是发现第二行却是为空,这个时候我们就可以采用gdb调试来进行错误的查重了。

首先在上述操作命令的基础之上,在终端面板上输入gcc test,进入了gcc调试模式,这时我们可以采用命令l来查看源代码,然后对源代码设置断点b + 行数1,b + 行数2,设置好两个断点之后,查看断点信息我们使用info b命令,然后在运行代码使用r 这时候我们可以采用单步运行的命令n来逐步的进行代码的运行,查看运行的信息,如果这样并不能够查出错误信息的话,我们可以进行对变量查看信息,使用 p + 变量名,这时可以看到变量在此时的运行信息,在上述程序中,我们对string2[0]进行查看信息的时候发现string2[0]并没有值给他,这时string2[0]就会一直为 NULL,故并不会输出结果,找到错误后,退出gdb,使用命令q,重新编辑test.c 改为string2[size - i -1] = string[i];重新编译gcc -g test.c test ./a.out 最后查看运行结果,发现是你想要的结果,好了,简单的gdb调试已经结束了。再见!

信息 运行 命令 结果 代码 错误 变量 断点 源代码 程序 输出 一行 时候 菜鸟 编译 输入 工具 合适 两个 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 广州百单互联网科技有限公司 美国互联网保险保险科技 互联网科技会 新浪科技互联网 广西互联网科技公司 狮子座互联网科技培训 互联网科技股午盘股票涨跌 中国最先进互联网科技公司 创业天下互联网科技有限公司 语蝶互联网科技有限公司 宜昌元轩互联网科技有限公司 河南住房之家互联网科技 互联网科技如何创业 宇信科技在杭州互联网排第几 九思连强互联网电子科技有限公司 昆明中奇联合互联网科技 互联网时代高科技布局 互联网科技品牌 科技互联网专业工作会议发言稿 云南咖啡 互联网科技工作委员会副主任毛军 中国的互联网科技企业的崛起 科技与互联网哪个更好 武汉健翔互联网络科技有限公司 厦门千工互联网科技有限公司 互联网第三次科技革命特征 半导体是互联网高科技吗 工业互联网科技创业 深圳互联网科技园地址
0