使用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
研究代码发现,程序可实现对一个整数型的反转功能,比如输入1234,程序输出4321。
但输入100,程序输出010,输出结果不正确。
2.使用GDB进行调试
gdb te
先简单熟悉gdb的命令
开始正式调试程序并分析
通过分析,当 iNum=10时,while循环条件中的iNum>10判断为 false,程序跳出循环,输出 iNum,即 10。
3.修改代码
分析发现while中的循环条件错误,对代码进行修修改得
将原本的iNum>10改成iNum>=10
重新编译并运行程序
下一篇: oracle 存储过程和函数例子
推荐阅读
-
使用MATLAB程序、Simulink对控制系统进行仿真
-
使用Word工具栏启动应用程序的技巧解读
-
phpstorm如何对项目(thinkphp)中的视图页进行调试呢?
-
在Linux终端中使用后台运行模式启动程序的方法
-
使用bcompiler对PHP文件进行加密的代码_PHP教程
-
使用PHP程序header location 开展跳转的注意的一个细节
-
PHP中使用asort进行中文排序失效的问题处理_PHP
-
Mybatis Criteria使用and和or进行联合条件查询的操作方法
-
使用什么调试swoole程序
-
代码-mysql中字段为text类型使用mybatis的Criteria查询无法进行封装