Visual C++ 调试技巧: 从变量查看窗口获取更多信息
2010-06-09 13:37
519 查看
在Visual C++调试中,我们经常需要在变量监视窗口中看到更多的信息。比如,我们定义了int类型的指针,该指针指向了好几个int大小的内存区域,我们希望看到的变量信息是整个数组,而不是只有指针指向的那个数字。又如,我们在调试Windows消息时,想知道的是消息的宏定义字符串(姑且让这么说吧),如WM_CLOSE,而不是生硬的数字。还有更多……
这些都很容易做到,只是您可能不知道。先上图吧,注意看监视窗口中变量内容显示的格式。
为查看消息的内容,只需要在变量名后面添加“
, wm”就能显示消息的名字。
查看句柄的返回值和错误代码,只需要在变量名的后面添加“, hr”即可显示返回值的意义和错误信息。
是不是很方便呢?下图的后面给出了MSDN上关于变量格式的链接及其内容摘要,相信您阅读后将受益颇多。
“监视”窗口或“快速监视”对话框中调试本机代码时使用格式说明符更改值的显示格式: ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vsdebug/html/0f6f3b7c-ce2c-4b4d-b14f-7589dbed5444.htm
为便于大家查看,下面复制了MSDN中的内容。
下表说明调试器可识别的格式说明符。
下表包含用于内存位置的格式化符号。可以使用带有计算为位置的任何值或表达式的内存位置说明符。
查找替换中的正则表达式也是很有用的,但这里的正则表达式和我们编程用到的正则表达式有所不同
,参见 ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vsnav/html/718a617d-0e05-47e1-a218-9746971527f4.htm
这些都很容易做到,只是您可能不知道。先上图吧,注意看监视窗口中变量内容显示的格式。
为查看消息的内容,只需要在变量名后面添加“
, wm”就能显示消息的名字。
查看句柄的返回值和错误代码,只需要在变量名的后面添加“, hr”即可显示返回值的意义和错误信息。
是不是很方便呢?下图的后面给出了MSDN上关于变量格式的链接及其内容摘要,相信您阅读后将受益颇多。
“监视”窗口或“快速监视”对话框中调试本机代码时使用格式说明符更改值的显示格式: ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vsdebug/html/0f6f3b7c-ce2c-4b4d-b14f-7589dbed5444.htm
为便于大家查看,下面复制了MSDN中的内容。
下表说明调试器可识别的格式说明符。
说明符 | 格式 | 表达式 | 显示的值 |
d,i | signed 十进制整数 | 0xF000F065, d | -268373915 |
u | unsigned 十进制整数 | 0x0065, u | 101 |
o | unsigned 八进制整数 | 0xF065, o | 0170145 |
x,X | 十六进制整数 | 61541, x | 0x0000F065 |
l,h | 用于 d 、 i 、 u 、 o 、 x 、 X 的 long 或 short 前缀 | 00406042,hx | 0x0c22 |
f | signed 浮点型 | (3./2.), f | 1.500000 |
e | signed 科学计数法 | (3./2.), e | 1.500000e+000 |
g | signed 浮点型或 signed 科学计数法,显示其中较短的数 | (3./2.), g | 1.5 |
c | 单个字符 | 0x0065, c | 101 'e' |
s | 字符串 | 0x0012fde8, s | "Hello world" |
su | Unicode 字符串 | 0x0012fde8, su | "Hello world" |
s8 | UTF-8 字符串 | 0x0012fde8, s8 | "Hello world" |
hr | HRESULT 或 Win32 错误代码。(调试器自动将 HRESULT 解码,因此这些情况下不需要该说明符。) | 0x00000000L, hr | S_OK |
wc | 窗口类标志。 | 0x00000040, wc | WC_DEFAULTCHAR |
wm | Windows 消息数字 | 0x0010, wm | WM_CLOSE |
! | 原始格式,忽略任何数据类型视图自定义项 | i ! | 4 |
符号 | 格式 | 表达式 | 显示的值 |
ma | 64 个 ASCII 字符 | ptr, ma | 0x0012ffac .4...0...".0W&.......1W&.0.:W..1...."..1.JO&.1.2.."..1...0y....1 |
m | 以十六进制表示的 16 个字节,后跟 16 个 ASCII 字符 | ptr, m | 0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&.. |
mb | 以十六进制表示的 16 个字节,后跟 16 个 ASCII 字符 | ptr, mb | 0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&.. |
mw | 8 个字 | ptr, mw | 0x0012ffac 34B3 00CB 3084 8094 22FF 308A 2657 0000 |
md | 4 个双倍长字 | ptr, md | 0x0012ffac 00CB34B3 80943084 308A22FF 00002657 |
mq | 2 个四倍长字 | ptr, mq | 0x0012ffac 7ffdf00000000000 5f441a790012fdd4 |
mu | 2 字节字符 (Unicode) | ptr, mu | 0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
,参见 ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vsnav/html/718a617d-0e05-47e1-a218-9746971527f4.htm
相关文章推荐
- Visual Studio 调试小技巧-从查看窗口得到更多信息(转)
- Visual Studio 调试小技巧-从查看窗口得到更多信息
- Visual Studio 调试小技巧-从查看窗口得到更多信息
- 【转】Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Visual Studio 调试小技巧(2) - 从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)- 从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- 转: Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Visual Studio 调试小技巧(2)-从查看窗口得到更多信息
- Mist钱包 无法连接节点,查看日志获取更多信息
- 最近学到的技巧(python调试信息的获取等)
- xcode获取更多崩溃调试信息
- .net调试:弹出窗口显示变量信息
- VC++6_0调试篇:变量的观察--watch窗口的技巧
- VC++6.0调试篇:变量的观察--watch窗口的技巧
- 如何通过Win8复制粘贴进度窗口查看更多信息