Visual Studio调试技巧

本文分享了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调试小技巧

随机文章推荐

Visual Studio是一款常用的集成开发环境,它提供了许多调试技巧和方法来帮助开发人员快速定位和解决问题。以下是一些常用的Visual Studio调试技巧: 1. 悬停鼠标查看表达式:在调试过程中,你可以将鼠标悬停在代码中的表达式上,Visual Studio会显示该表达式的当前,这对于快速检查变量非常有用。[1] 2. 使用Watch窗口:Watch窗口可以让你监视和跟踪变量。你可以在Watch窗口中添加你感兴趣的变量,并在调试过程中实时查看它们的。[2] 3. 使用条件断点:条件断点允许你在满足特定条件时中断程序的执行。你可以在断点设置对话框中设置条件,当条件满足时,程序会在该断点处停止执行。这对于调试特定情况下的代码非常有用。 4. 使用调试输出:你可以在代码中插入调试输出语句,以便在调试过程中输出特定的信息。你可以使用`Debug.WriteLine`或`Trace.WriteLine`方法来输出信息,并在输出窗口中查看它们。 5. 使用调试工具:Visual Studio提供了许多强大的调试工具,如调试器窗口、内存窗口、线程窗口等。这些工具可以帮助你深入了解程序的执行过程,并找到潜在的问题。 6. 使用命令窗口:Visual Studio的命令窗口可以让你通过输入命令来自动化调试过程。你可以使用命令窗口执行一些简单的操作,如测试变量或执行特定的调试命令。[3] 这些是一些常用的Visual Studio调试技巧,它们可以帮助你更高效地进行调试工作,并节省大量的时间。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值