欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用GDB进行程序的调试

程序员文章站 2022-06-17 17:23:37
...

目的:

初步了解GDB 调试器的使用方法并在linux环境下对c语言程序进行检验纠错

操作步骤

1.在linux中使用vim命令新建te.c文件,代码如下:

#include <stdio.h>
void ShowRevertNum(int iNum)
{
	while (iNum > 10)
 	{
		printf("%d", iNum % 10);
 		iNum = iNum / 10;
 	}
 	printf("%d\n", iNum);
}
int main(void)
{
 	int iNum;
 	printf("Please input a number :");
 	scanf("%d", &iNum);
 	printf("After revert : ");
 	ShowRevertNum(iNum);
}

对文件进行编译并运行

gcc -o te -g te.c 
//编译命令加上-g是为了后来进行gdb调试需求
./te

使用GDB进行程序的调试

研究代码发现,程序可实现对一个整数型的反转功能,比如输入1234,程序输出4321。
但输入100,程序输出010,输出结果不正确。

2.使用GDB进行调试

gdb te

先简单熟悉gdb的命令
使用GDB进行程序的调试
开始正式调试程序并分析
使用GDB进行程序的调试

通过分析,当 iNum=10时,while循环条件中的iNum>10判断为 false,程序跳出循环,输出 iNum,即 10。

3.修改代码
分析发现while中的循环条件错误,对代码进行修修改得
使用GDB进行程序的调试
将原本的iNum>10改成iNum>=10
重新编译并运行程序
使用GDB进行程序的调试

相关标签: linux