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
    评论
Visual Studio中,调试窗口是用来帮助开发者在调试过程中查看和控制程序执行状态的工具。其中一个常见的调试窗口是Immediate(即时)窗口,它可以在调试时提供一个交互式环境,允许开发者在断点处直接执行代码并查看结果。 通过在Debug菜单中选择Windows->Immediate,或者使用快捷键Ctrl Alt I,可以打开Immediate窗口。在该窗口中,开发者可以编写和执行代码,以及查看和修改变量的值,而不需要停止程序的执行并重新启动调试过程。这对于测试不同参数的方法调用非常有用,可以节省大量时间和精力。 除了Immediate窗口Visual Studio还提供了其他有用的调试工具和窗口,如Watch(监视)窗口。如果需要频繁查看特定对象的值,则可以使用监视窗口来方便地监视和跟踪变量的值变化。这些调试工具和窗口都旨在提高开发效率,让开发者更轻松地调试和分析程序的执行过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Visual Studio 即时窗口实用技巧](https://blog.csdn.net/sD7O95O/article/details/110458170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值