学习之路三十二: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调试的简单技巧的更多相关文章

  1. 学习之路三十二:VS调试的简单技巧

    这段时间园子里讲了一些关于VS的快捷键以及一些配置技巧,挺好的,大家一起学习,一起进步. 这段时间重点看了一下关于VS调试技巧方面的书,在此记录一下学习的内容吧,主要还是一些比较浅显的知识. 1. 调 ...

  2. Visual Studio调试之断点技巧篇补遗

    原文链接地址:http://blog.csdn.net/Donjuan/article/details/4649372 讲完Visual Studio调试之断点技巧篇以后,翻翻以前看得一些资料和自己写 ...

  3. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  4. [转]九个Console命令,让js调试更简单

    转自:九个Console命令,让js调试更简单 一.显示信息的命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html ...

  5. Asp.net Mvc模块化开发之“开启模块开发、调试的简单愉快之旅”

    整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早 ...

  6. 分享几个日常调试方法让js调试更简单

    下面分享几个日常调试代码的时候在Console命令行显示你的操作,让你的js调试更简单. console显示信息的命令 在浏览器按f12在console上显示你的文本. <!DOCTYPE ht ...

  7. 让js调试更简单—console

    一.显示信息的命令 console.log 用于输出普通信息 console.info 用于输出提示性信息 console.error用于输出错误信息 console.warn用于输出警示信息 最常用 ...

  8. 灵活使用 console 让 js 调试更简单

    摘要: 玩转console. 原文:灵活使用 console 让 js 调试更简单 作者:前端小智 Fundebug经授权转载,版权归原作者所有. Web 开发最常用的就是 console.log , ...

  9. 【F12】Console命令,让js调试更简单

    Console命令,让js调试更简单 一.显示信息的命令 console.log("normal"); // 用于输出普通信息 console.info("informa ...

随机推荐

  1. jQuery+PHP掷色子抽奖

    原文 jQuery+PHP掷色子抽奖 本文以大富翁游戏为背景,综合运用jQuery和PHP知识,设计出以掷色子点数来达成抽奖的效果,当然抽奖概率是可控的,开发者可以将本实例稍作修改即可运用到网站中的抽 ...

  2. MVC验证05-自定义验证规则、验证2个属性值不等

    原文:MVC验证05-自定义验证规则.验证2个属性值不等 本文体验2个属性值不等.即当一个属性输入值,另外一个属性输入的值不能和第一个属性值相等.相关文章包括: MVC验证01-基础.远程验证   M ...

  3. OC的构造方法与分类知识点总结

    OC语言构造方法: 用来初始化对象的方法,对象方法,以减号开头 为了让对象创建出来,成员变量就会有一些固定的值 重写构造方法的注意点: 先调用父类的构造方法([super init]) 再进行子类内部 ...

  4. SALT 加密

    大家都知道,MD5加密是不可逆.但事实上,我们通常值的MD5算法.黑客的眼下破解率相对较高.也有非常多站点上干脆就提供批量解密MD5的服务,当然是收费的.http://www.xmd5.org.这里提 ...

  5. ORA-00265: instance recovery required, cannot set ARCHIVELOG mode

    症状: 我打开后归档命令报告运行错误ORA-00265 SQL> alter database archivelog; alter database archivelog * ERROR at ...

  6. JS获取渲染后的样式

    一般我们利用element.style.属性来获取CSS的样式,而此方法只能获取标签内的样式,无法获取头部或引入的样式,因此,而我们又需要获取其样式,则我们可以使用:(其中element为标签,pro ...

  7. UI控件库

    UI控件库分享:DWZ(j-UI).LigerUI.Linb DWZ(j-UI): 在线演示地址:http://demo.dwzjs.com 在线文档:http://demo.dwzjs.com/do ...

  8. 安装WindowsXP操作系统(安装版) - 初学者系列 - 学习者系列文章

    本文主要介绍下Windows XP操作系统的安装. 1.             将光驱装入光驱.启动电脑,在开始界面按下DEL键,进入BIOS设置界面.将光驱设置为第一启动项.下面以虚拟机为例子. ...

  9. 编写SQL的辅助工具

    原文:编写SQL的辅助工具 今天在同事的帮助下,下载了一个工具:ApexSQL edit,可能是我孤陋寡闻,不知道还有这样的好工具,它可以在我键入SQL时,帮助我提示表的名称和列名称.还可以帮助我格式 ...

  10. JavaScript实例技巧精选(14)—动态变化背景颜色

    >>点击这里下载完整html源码<< 这是截图: 网页背景颜色随时间变化,核心代码如下: <SCRIPT LANGUAGE="JavaScript"& ...