windows 消息
在watch窗口中若需要展示一个windows消息变量的值, 可以使用 uMsg,wm 查看
普通变量
常用的还有:
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 进行查看
std::string 字符串超长显示
当std::string字符串特别长时,普通的局部变量窗口中无法查看完整的字符串内容,可以添加该变量的监视,并且使用下图中的 jsonString,1000 的方式,后面的数字可以按照真实的长度改动,这样就可以看到完整的字符串内容了。实际调试过程中或者处理dump文件的时候非常有用。
const char* 字符串超长显示或者编码问题显示不全
当接口返回的数据中包含中文、html样式等各种符号的时候,如果visual studio调试时遇到字符串显示不全,或者后续字符乱码,可以添加 s8 转为 utf8 格式.