vs调试技巧(二)

来源:互联网 发布:石油钻井软件 编辑:程序博客网 时间:2024/04/28 16:04

一、错误代码
不需要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调试技巧-数据断点
原创粉丝点击