首页 > Windows SDK > Visual Studio调试小技巧

Visual Studio调试小技巧

记得《Windows核心编程》一书的开头部分讲到了Visual Studio中一个查看错误消息的小技巧,前几天调试程序想用一下,可一时记不起来是什么参数了,所以去网上找了下,发现还有其他小技巧,就顺便记下来,方便以后忘记的时候快速查找。

一、错误代码
不需要GetLastError()之后格式化成数字写Log,然后用Error Lookup查询;或者直接调用API查询对应语言版本的错误信息。在监视窗口中写下$err,hr即可看到详细的错误描述信息,跟Error Lookup一样的效果。

二、查看消息Message类型
Windows的消息是UINT格式,在调试的时候如果直接输入变量,看到的也就是一个数值。如果在变量名后面加上一个英文逗号和小写的wm,就可以显示成宏的形式了,比如“uMsg, wm”,效果如下图:
Visual Studio调试技巧-查看消息类型

三、条件断点 & 命中次数
Visual Studio调试技巧-条件断点Visual Studio支持条件断点,我们可以先下一个普通断点,然后在断点上面单击鼠标右键,即可显示出“条件断点”以及“命中次数”,条件断点可以在指定条件成立时断下,这里的条件类似if语句里面的条件,支持常见的逻辑操作符以及一些C语言字符串函数。

以前不知道有这个功能(装了Visual Assist X之后,右键菜单就没有条件断点和命中次数的菜单项了,加上了VAX自己的很多菜单项),所以我会使用内联汇编来解决这个问题,在需要下条件断点的地方用if语句做一个判断,然后在条件成立时执行__asm int 3这条指令,就会触发一个CC断点了。所以如果要使用这里的功能,请先禁用掉Visual Assist X这个插件(如果你没有安装VAX的话就可以直接使用这个功能了;当然VAX这么强大的工具对提高开发效率还是非常有帮助的)。

命中次数可以设置当命中断点多少次时断下,在没有达到指定的命中条件之前不会断下。

四、数据断点
进入调试状态之后,选在Visual Studio的菜单项“调试”->“新建断点”->“新建数据断点”可以建立数据断点,用于对指定的地址进行监控,可以设置监控的数据尺寸大小。当被监控的地址的数据发生变化时便会自动断下。
如果需要监控变量的值,如发生变化时自动断下,可以通过取地址操作符&来取得变量的地址值。
Visual Studio调试技巧-数据断点

五、查看指针指向的数组内容
@波波 直接在指针后面加逗号和个数查看连续内存。


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> Visual Studio调试小技巧
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



  1. 2011年11月23日00:44 | #1

    还有直接在指针后面加逗号和个数查看连续内存。

    [回复]

    代码疯子 回复:

    @波波, [em022] 那个跟看数组类似

    [回复]