【实验】GDB实验

【实验】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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值