Ubuntu下的GDB调试操作

it2025-08-21  8

Ubuntu下的GDB调试操作

(一)GDB调试举例(二)GDB调试的段错误调试举例(三)借助core文件进行GDB调试总结

(一)GDB调试举例

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命令单步调试,调试结束。

(二)GDB调试的段错误调试举例

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.修改变量的值并单步执行

(三)借助core文件进行GDB调试

1.使用ulimit -c 1000命令使系统产生core文件,运行程序 2.进入GDB调试模式,注意在最后加上core

总结

这次的实验让我了解到了Linux系统下的GDB调试器的作用及其使用方法,收获很多。

最新回复(0)