windows下断点调试监视变量的小技巧

本文介绍了在Windows环境下进行断点调试时,如何通过监视变量的内存偏移来查看相邻变量的值。通过示例展示了如何设置监视表达式,以正确获取内存池或数组等连续内存区域的信息,这对于调试和理解程序运行状态非常有帮助。

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

假设我断点到一个变量,想知道变量前后地址的值,那怎么办呢

看图,

 

 

这是连个类的定义,我们看下运行时

添加一个监视(A*)(ph +sizeof(head)) ,就得到以ph为基准偏移sizeof(head)的一个地址。 把这个地址解释为A*,那么久可以查看A->a的值了,往下运行,看看最后是不是等于1,

 

显然我们是失败了,并不等于1,那么验证下地址是不是偏移错了

确实地址偏的太远了点,那么改成(A*)((char*)ph + sizeof(head)) , 验证

 

这下正确了,总结来说就是可以根据一个变量获取前后紧凑内存的值,对于调试数组这种连续变量或者内存池的额外信息有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值