竹杖芒鞋轻胜马,一蓑烟雨任平生

visual studio调试技巧

调试图像

安装ImageWatch插件,可以在断点时查看图像。

下载地址:ImageWatch

查看utf8编码的字符串

在watch窗口中输入:

1
content.c_str(), s8

调试服务器代码

采用Poco或者libevent等编写跨平台服务器端代码。
服务器输入和输出均采用JSON的形式,HTTP POST。

整个project分成3大部分,分别是:

  • function core
  • server core
  • test core

其中,function core提供核心功能并稳定API,server core提供多并发网络输入输出,test core提供单元测试和功能调试。

调试时function core,如果需要模拟网络环境进行本地调试,则可以将参数通过本地资源进行访问。

立即窗口

立即窗口(Immediate window),可以用来输出当前上下文中的变量,并做一些简单的计算操作。

条件断点

条件断点可以用来帮助定位问题,以免一遍遍的断点查看。

数据断点

与条件断点一样,数据断点也能帮助快速定位问题(尤其是一些莫名其妙的问题,如越界等)。数据断点需要事先获取数据地址,然后监视数据变化。

注意:数据断点有字节数限制,不能监控大段内存,仅能监控一些最基本的数据类型长度。

性能热点分析调试

visual studio 2013以后自带性能热点分析工具,非常好用。

Error Lookup

在TOOLS菜单下有若干工具(可自行配置工具),有些工具很实用,如:Create GUID,Error Lookup,Spy++等。

Error Lookup工具将windows内部错误代码翻译成可供工程师查看参考的自然语言,以辅助调试问题。

Spy++

Spy++工具可用于辅助调试Windows窗口相关的问题,如某窗口的父窗口子窗口的Handle分别是什么等。

depends

哈哈,这个其实不属于Visual Studio的范畴,但是真的太好用了,不能不提。调试各种缺少动态库提示之类的问题不要太好用。(谁用谁知道)


to be continued…