gdb命令print和x小议

本文通过具体示例详细解释了如何使用GDB调试C程序,包括打印变量值、内存地址及内存内容等操作,帮助读者深入理解GDB的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用gdb的时候,忽然有写方面不明白,思索一番,不知对否。

 

源代码:

编译,调试:

 

 

先看print语句:

print a[3]     #打印a[3]的值,

print &a[3]   #打印a[3]的地址

print a+3      #同上

print  &(a+3)  #打印a+3指针所在的地址,显示不存在

 

x a[3]   #访问a[3]值所代表的内存,即打印a[3]值代表内存里面的值

x a+3   #访问指针a+3代表内存里面的值,即 4

x &a[3]  #同上

x &(a+3) 访问a+3指针所在的地址,不存在

 

总结: print 就是打印给定变量(参数是什么,就打印什么),x打印给定变量代表的内存地址里的值(即x后面的参数 是地址值,打印的是地址所在内存单元的值)。比如要打印变量i的值:

print i

x &i

 

GDB在操作内存时,使用的是C的语法。

 

论坛连接: http://linux.chinaunix.net/bbs/viewthread.php?tid=1176035&pid=7335212&page=1&extra=page%3D1#pid7335212

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值