【实验】GDB实验

xiaoxiao2026-05-22  15

【实验】GDB实验

一、实验目的

1、理解gdb工具原理 2、使用gdb工具进行调试程序 3、gdb远程调试

二、实验原理(略)

三、实验步骤

1、在/embedded目录下创建目录,目录名:testgdb 2、创建文件greeting.c 如下 #include int main() { void my_print(char *string); void my_print2(char *string); char my_string[]="hello there"; my_print(my_string); my_print2(my_string); } void my_print(char *string) { printf("The string is %sn",string); } void my_print2(char *string) { char *string2; int size,size2,i; // int size,i; size=strlen(string); size2=size-1; string2=(char *)malloc(size+1); for (i=0;i string2[size2-i]=string[i]; // string2[size-i]=string[i]; string string2[size+1]='0'; printf("The string printed backwand is %sn",string2); } 3、创建Makefile文件如下: greeting:greeting.o gcc -g -o greeting greeting.o greeting.o:greeting.c gcc -g -c greeting.c clean: rm *.o 4、执行make 5、执行gdb greeting 进入gdb调试 6、 命 令 描 述 file 装入想要调试的可执行文件 . kill 终止正在调试的程序 . list 列出产生执行文件的源代码的一部分 . next 执行一行源代码但不进入函数内部 . step 执行一行源代码而且进入函数内部 . run 执行当前被调试的程序 quit 终止 gdb watch 使你能监视一个变量的值而不管它何时被改变 . break 在代码里设置断点 , 这将使程序执行到这里时被挂起 . make 使你能不退出 gdb 就可以重新产生可执行文件 . shell 使你能不离开 gdb 就执行 UNIX shell 命令 . 如上指令尝试调试 7、远程调试主要步骤: –(minicom下)执行 ./gdbserver 192.168.0.110:2345 hello 注意所在目录 –(另一个终端下) ./arm-linux-gdb hello (gdb) target remote 192.168.0.115:2345

转载请注明原文地址: https://www.6miu.com/read-5049213.html

最新回复(0)