【无标题】

一、编辑hello.c

创建hello.c文件,vim编辑hello.c

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

二、用gcc指令编译目标文件

1.进行预处理:gcc -E hello.c -o hello.i

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 

2.进行编译:gcc -S hello.i -o hello.s

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 3.编译汇编:gcc -c hello.s -o hello.o

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 4.用gcc hello.o -o hello !进行链接确定输出文件名

三、.查看运行结果./hello

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_17,color_FFFFFF,t_70,g_se,x_16

 四、gdb调试函数调用

1.用gdb对hello进行调式时先对hello.c的编译插入-g:gcc -g hello.c -o hello然后对hello进行调试gdb hello

list列出调试程序代码

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 2.设置断点,使用break(b) 函数名或break(b) 行数对程序增设断点watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 3.函数调用暂停

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 使用quit(q)退出gdb调试

五、将原函数写为头文件,函数文件和主函数文件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16 

 编辑makefile文件targets:prerequisites/dependency

command,即xxx.o: xxx1.c,xxx2.h,xxx3.c

    gcc -c hello.c

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 查看结果

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAYml1Yml1OTgx,size_20,color_FFFFFF,t_70,g_se,x_16

 六使用gdb远程调试

1.安装gdbserver

在想要进行远程调试的目标计算机上安装gdbserversudo apt install gdbserver

2.开放远程端口

在目标机上开放远程调试端口gdbserver 目标ip:(选择一个未被占用的端口) 远程调试的文件名

3.使用客户端进行连接

在客户端进入gdb直接输入gdb即可后使用target remote 目标ip:对应端口进行连接

4.进行调试

连接成功后可正常在客户端进行调试,运行结束后会在目标端显示运行结果

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值