【跟我一起学gdb】(3)灵活使用arg0,arg1可变入参------打印任意给定的数据结构对象的所有成员变量

mian.c

tom@ubuntu:~/dvp$ cat -n main.c
     1	#include <stdio.h>
     2	
     3	typedef struct
     4	{
     5		int iW;
     6		int iH;
     7		int iX;
     8		int iY;
     9	}BOX_ST;
    10	
    11	int main()
    12	{
    13		BOX_ST stBox;
    14		
    15		stBox.iW = 1;
    16		stBox.iH = 2;
    17		stBox.iX  = 3;
    18		stBox.iY  = 4;
    19	
    20		return 0;
    21	}
tom@ubuntu:~/dvp$ 

gdb脚本(使用arg0 arg1,.....)

使用arg0 arg1 arg2, ....等可变参数来代表输入的任意名称的数据结构对象

tom@ubuntu:~/dvp$ cat -n gdbcmd_printBOX_ST.txt
     1	define print_stBox
     2	print $arg0
     3	end
tom@ubuntu:~/dvp$ 

使用gdb脚本

(gdb) file ./a.out 
Reading symbols from ./a.out...done.
(gdb) list main 
7		int iX;
8		int iY;
9	}BOX_ST;
10	
11	int main()
12	{
13		BOX_ST stBox;
14		
15		stBox.iW = 1;
16		stBox.iH = 2;
(gdb) l
17		stBox.iX  = 3;
18		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值