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

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

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

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

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

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

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

本文出自程序人生 >> Visual Studio调试小技巧

随机文章推荐

  • cannot appear in a constant-expression
  • 前置后置自增自减操作符重载
  • PE文件之IMAGE_FILE_HEADER
  • 调试与反调试(3)--CheckRemoteDebuggerPresent
  • 顶嵌杯C语言编程大赛初赛B取模运算
  • systerm32driversdsfksvcs.sys损坏或者丢失
  • 微软未公开结构体是这样找到的
  • Ubuntu/Linux截图方法
  • Linux/Ubuntu Tab按键
  • 绿盟科技2012校园招聘简历推荐

转载于:https://www.cnblogs.com/msbsod/archive/2011/11/23/2260113.html

Visual Studio调试技巧相关推荐

  1. android studio 扰码,Visual Studio 调试技巧 (三) -- 调试第三方组件代码

    上次我们提到,没有源代码而且没有调试符号,我们也可以 Debug.有人可能会问,我什么时候需要在这种情况下调试吗?! 是的.比方说,我们用了某些第三方的组件,这些组件里面难免也会有 Bug.就算是微软 ...

  2. visual studio 调试 定义debug常量_有趣的阅读 12个提高生产力的Visual Studio调试技巧...

    以前因为工作的关系,接触过不少程序员同行,发现很多同学对所谓的小技巧tips感兴趣.本文就是一篇很有趣的文章,总结介绍了12个关于"宇宙第一IDE"-- Visual Studio ...

  3. Visual Studio调试之断点技巧篇

    不知道能不能算是技巧啦,写出来放到首页贻笑大方而已. 函数断点 在前面的文章Visual Studio调试之避免单步跟踪调试模式里面我讲了如何设置函数断点,说实话,我个人喜欢设置函数断点,而不是在代码 ...

  4. 12个Visual Studio调试效率技巧

    在这篇文章中,我们假定读者了解VS基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果 ...

  5. 10个C#编程和Visual Studio使用技巧

    10个C#编程和Visual Studio使用技巧 http://developer.51cto.com  2010-09-28 08:52  黄永兵 译  51CTO.com  我要评论(1) C# ...

  6. Visual Studio调试之避免单步跟踪调试模式

    写完Visual Studio调试之断点进阶篇之后,想分享一下我常用的一些调试技巧,后面发现写之前,一些背景知识需要介绍一下. 下面是几篇今年2月份在CSDN写的几篇文章,比如关于如何使用第一次异常处 ...

  7. Visual Studio 编程技巧

    技巧 0 删除文件中的当前行: Home + Shife-End + Delete 技巧 1.1 避免意外复制一个空白行 工具->选项->文本编辑器->所有语言->常规: 没有 ...

  8. Visual Studio调试/加载速度很慢

    本文翻译自:Visual Studio debugging/loading very slow I'm at wits end. 我的智慧结束了. Visual Studio is typically ...

  9. Visual Studio 调试(Dubug)模式下的“未定义标识符”

    原文:https://blog.csdn.net/pijk55556/article/details/60969091 Visual Studio 调试(Dubug)模式下的"未定义标识符& ...

最新文章

  1. java实现redis缓存_java实现redis缓存功能
  2. 类型后面的问号的目的是什么(例如:int?myVariable)?
  3. 构建高性能J2EE应用的五种核心策略
  4. numpy.random.randint详解
  5. 数学建模——智能优化之模拟退火模型详解Python代码
  6. 【AI初识境】深度学习模型评估,从图像分类到生成模型
  7. Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————H264压缩视频
  8. javascript省市三层联动,修改
  9. Core Animation基础
  10. 【GRE协议】CentOS配置GRE隧道
  11. java 迭代器失效_迭代器失效的几种情况
  12. 拓端tecdat|数据挖掘算法在物业设备设施管理的风险识别与防控应用
  13. servlet+jsp项目改成springboot+jsp+maven
  14. 批量导出二维码并生成压缩文件
  15. 关于thinkpad和thinkpad x230更换固态硬盘后蓝屏0x000000f4或0x0000007a错误
  16. 【中山市选2008】三角形
  17. MetroMusic音乐播放器开发心得
  18. python输入hello*3_Python快速上手: hello world
  19. Matlab调用百度API画地图讲解教程
  20. 计算机网络—学习笔记

热门文章

  1. Leaflet文档阅读笔记-Extending Leaflet: Handlers and Controls笔记
  2. linux18.0.4安装mysql
  3. 智能运维监管系统终端_什么系统能实现机房智能运维?
  4. char装cstring_VC中char*转换为CString
  5. 计算机应用基础理论,计算机应用基础理论A卷.doc
  6. 用python怎么下载_如何使用python下载视频
  7. java if和else if的区别_关于C语言中if,elseif和else的区别在哪里
  8. 一个优秀的软件测试工程师需具备的技能
  9. (王道408考研操作系统)第三章内存管理-第一节8:非连续分配管理方式之段页式管理方式
  10. C++中的深拷贝和浅拷贝(详解)