1.新建一个revertnum.c文件 2.进入c文件的编辑界面 3.输入程序代码,保存退出。
#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); }4.编译c文件 5.进入gdb调试模式 6.输入l,显示代码及行号 7.输入list继续显示余下代码 8.通过行号设置断点 9.通过函数名设置断点 10.用info b命令查看所有断点信息 11.用run命令执行程序 12.用whatis命令查看iNum的类型 13.打印iNum的值
14.用c命令继续执行程序 15.打印此时iNum的值 16.用s命令进行单步调试 注:期间要用n命令跳出printf.c文件 17.打印此时iNum的值,并用s命令单步调试,调试结束。
1.新建一个segdemo.c文件 2.进入segdemo.c文件的编辑界面 3.输入程序代码,保存退出
#include<stdio.h> #include<string.h> #define BUFSIZE 256 static char acBuf[BUFSIZE]; static char *pStr; int main(void) { printf("Please input a string:"); gets(pStr); printf("\nYour string is:%s\n",pStr); }4.编译segdemo.c文件 5.执行可执行文件segdemo,显示段错误 6.进入GDB调试模式 7.用l命令查看代码及行数
8.打印pStr的值 9.设置断点 10.用r命令重新运行程序 11.修改变量的值并单步执行
1.使用ulimit -c 1000命令使系统产生core文件,运行程序 2.进入GDB调试模式,注意在最后加上core
这次的实验让我了解到了Linux系统下的GDB调试器的作用及其使用方法,收获很多。