VS调试的简单技巧
学习之路三十二:VS调试的简单技巧
这段时间园子里讲了一些关于VS的快捷键以及一些配置技巧,挺好的,大家一起学习,一起进步。
这段时间重点看了一下关于VS调试技巧方面的书,在此记录一下学习的内容吧,主要还是一些比较浅显的知识。
1. 调试窗口
当调试的时候我们需要清晰的看到变量的值,可以使用调试窗口显示变量的值。
快捷键:ctrl + W,1(先同时按ctrl+W,然后在按1)
好处:可以很清晰的把变量的值显示出来,当我们要查看实例里面某一个属性的值就需要这样做了,
你也可以移动鼠标到实例然后点+展开查看,不过那个看的太累。
2. 附加进程
当程序已经发布了,那么本机又有源代码,那么就可以直接附加进程进行Debug调试了。
好处:当程序出现重大崩溃的时候,可以使用附加进程来调试代码,抓住发生错误的时机。
步骤:点击菜单栏Debug,然后选择Attach To Process,如图:

3. 输出窗口
其实如果在不希望通过断点来获取当前变量值的时候,可以通过在输出窗口打印相应的值,可以不通过调试就可以看到值,如下:

4. 断点的魅力
其实关于断点有很多调试技巧,我记得在第一家公司培训的时候,有一个架构师就讲了关于断点方面的知识,当时很惊讶,觉得不可思议。
经过一段时间的了解,把学习心得记下来:
4.1 跟踪点
通过设置跟踪点可以让当前变量的值显示在输出窗口上,而不需要我们调试一个一个的查看,例如:
注意:只有在Debug模式下才有效果。

4.2 条件断点(Condition BreakPoint)
顾名思义就是说这个断点只有满足条件时才能触发,这就是条件断点,如图:

4.3 筛选断点(Filter BreakPoint)
这个断点技巧尤其在多线程的系统中很有帮助,可以帮我查看这个线程什么时候执行此段代码等等。

上面三个使用的比较多,还有几个平常没用到也就没做很深入的了解。
有知道的童鞋可以告诉我,我补上。
5. 调用栈跟踪(Call Stack)
这个技巧可以看到调用方法的层次结构。
这个调试技巧我比较喜欢,因为当一个方法你不知道是被哪个方法调用的话,就可以查看调用栈信息窗口,如下:

6. 线程窗口(Thread)
通过查看线程窗口可以很清楚的看出系统中正在运行的线程。这个对调试死锁问题有一定的帮助。

还可以通过点击线程窗口的向下箭头查看此时此刻线程正在执行哪段代码,如下:

7. 其它
7.1 自动窗口(Autos Window)
可以显示当前变量的值,并且可以编辑当前变量的值,这种调试技巧用的非常多。
7.2 Immediate Window
这个可以直接在窗体内进行编码。

好了,个人能力有限就写这么多了。
以同步至:个人文章目录索引
VS调试的简单技巧的更多相关文章
- 学习之路三十二:VS调试的简单技巧
这段时间园子里讲了一些关于VS的快捷键以及一些配置技巧,挺好的,大家一起学习,一起进步. 这段时间重点看了一下关于VS调试技巧方面的书,在此记录一下学习的内容吧,主要还是一些比较浅显的知识. 1. 调 ...
- Visual Studio调试之断点技巧篇补遗
原文链接地址:http://blog.csdn.net/Donjuan/article/details/4649372 讲完Visual Studio调试之断点技巧篇以后,翻翻以前看得一些资料和自己写 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
- [转]九个Console命令,让js调试更简单
转自:九个Console命令,让js调试更简单 一.显示信息的命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html ...
- Asp.net Mvc模块化开发之“开启模块开发、调试的简单愉快之旅”
整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早 ...
- 分享几个日常调试方法让js调试更简单
下面分享几个日常调试代码的时候在Console命令行显示你的操作,让你的js调试更简单. console显示信息的命令 在浏览器按f12在console上显示你的文本. <!DOCTYPE ht ...
- 让js调试更简单—console
一.显示信息的命令 console.log 用于输出普通信息 console.info 用于输出提示性信息 console.error用于输出错误信息 console.warn用于输出警示信息 最常用 ...
- 灵活使用 console 让 js 调试更简单
摘要: 玩转console. 原文:灵活使用 console 让 js 调试更简单 作者:前端小智 Fundebug经授权转载,版权归原作者所有. Web 开发最常用的就是 console.log , ...
- 【F12】Console命令,让js调试更简单
Console命令,让js调试更简单 一.显示信息的命令 console.log("normal"); // 用于输出普通信息 console.info("informa ...
随机推荐
- C# foreach 有用方法具体解释
网上查资料,说foreach 不能改动迭代变量,仅仅能訪问迭代变量.自己理解也不是非常深,通过几个代码进行验证,发现foreach的使用方法还有点特别 验证方法: 1. 迭代变量 为int int[] ...
- NET Framework 4.5 五个新特性
.NET Framework 4.5 五个新特性 Framework 4.5 已经开发了几个项目了,想去研究一下VS 2015 里面的跨平台..不过好像4.5内核新特性还没搞明白呢还是先看看4.5内核 ...
- Xcode下执行HelloWorld
准备工作 到Cocos2d-x官方站点下载最新版本号v3.0beta2 创建HelloWorld项目 将刚才下载的压缩包解压到你指定的目录里. 进入到文件夹**cocos2d-x-3.0beta2/t ...
- MongoDB的C#驱动
MongoDB的C#驱动基本使用 MongoDB的官方C#驱动可以通过这个链接得到.链接提供了.msi和.zip两种方式获取驱动dll文件. 通过这篇文章来介绍C#驱动的基本数据库连接,增删改查操作. ...
- OpenSUSE 13.2安装Texlive2014+Texmaker+Lyx
(1)首先下载安装Texlive2014 地址:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/ 或直接下载: wget http://m ...
- Spring之单元测试
引言 是否在程序运行时使用单元测试是衡量一个程序员素质的一个重要指标.使用单元测试既可以让我检查程序逻辑的正确性还可以让我们减少程序测试的BUG,便于调试可以提高我们写程序的效率.以前我们做单元测试的 ...
- OpenGL Development Cookbook chapter7部分翻译
让我们通过以下简单步骤开始我们的配方: 1.通过读取外部的体数据文件,并通过该加载数据集数据转换成一个OpenGL纹理.也使硬件的mipmap生成.通常情况下,从使用一个横截面中获得的体积数据文件存储 ...
- JavaScript实例技巧精选(9)—计算器实例1
>>点击这里下载完整html源码<< 这是截图: 利用Javascript和html实现的一个计算器实例,核心代码如下: <script language="J ...
- 存储过程的参数问题与C#中的调用
1. 带参数的存储过程 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_select_gua] @num ...
- SQLSERVER 总结1
数据:描述事物的符号记录 数据库:按照数据结构来组织和存储管理的数据仓库 数据库管理系统:位于用户与操作系统之间的一层数据管理软件 数据库系统:在计算机系统中引入数据库后的系统构成.由数据库,数据库管 ...