Visual Studio 调试过程watch窗口使用归纳

windows 消息

在watch窗口中若需要展示一个windows消息变量的值, 可以使用 uMsg,wm 查看
windows消息watch查看

普通变量

常用的还有:
1, d, i, u, o, x, X, f, e, g等,跟C语言printf里的一样,表示数字的各种形式,并支持4X等写法;
2, c, s, su(Unicode String)等,用于显示字符及字符串;
3, hr 用于显示Win32 error code;
4, wm用于显示windows消息,比如WM_CLOSE等
其中,hr本来用于显示HRESULT的内容的,在VS2010中,不加hr也可以显示HRESULT的可读性内容了。
对于指针,
为了解决只能显示第一个地址的内容的问题,可以在指针的后面加上数目,比如:
pBuf, 20将显示pBuf指针及之增20个地址的所有内容,这个很好地解决了指针型数组变量的内容显示问题。
为了简化,对于指针的显示,还有一些约定的用法,比如:
pBuf, ma表示,显示pBuf起64个ASCII码字符;
pBuf, m表示,显示pBuf起16个byte的16进制形式,后面紧跟着该16个byte的ASCII码字符形式;
pBuf, mw表示,显示8个word;pBuf, md显示4DWORD;pBuf, mq显示2QWORD等等

Windows API 调用错误码

在watch窗口中若需要展示一个windows api调用时报错的错误码详细信息,可以通过 $err,hr 进行查看
API调用错误码

std::string 字符串超长显示

当std::string字符串特别长时,普通的局部变量窗口中无法查看完整的字符串内容,可以添加该变量的监视,并且使用下图中的 jsonString,1000 的方式,后面的数字可以按照真实的长度改动,这样就可以看到完整的字符串内容了。实际调试过程中或者处理dump文件的时候非常有用。
超长std::string显示

const char* 字符串超长显示或者编码问题显示不全

当接口返回的数据中包含中文、html样式等各种符号的时候,如果visual studio调试时遇到字符串显示不全,或者后续字符乱码,可以添加 s8 转为 utf8 格式.
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值