[Visual Studio 2015] Debugging 能力强化

上个月的Connect()大会后,Visual Studio 2015 推出了Preview,其中在程序开发的Debugging里终于出现了一些强化的功能,因此在以下做了点介绍,有兴趣的人也可以参考Channel9的介绍影片: Debugging Improvements in Visual Studio 2015
http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Debugging-Improvements-in-Visual-Studio-2015


好想没有写文章,没想到一隔隔了两年呀!!!

上个月的Connect()大会后,Visual Studio 2015 推出了Preview,其中在程序开发的Debugging里终于出现了一些强化的功能,因此在以下做了点介绍,有兴趣的人也可以参考Channel9的介绍影片: Debugging Improvements in Visual Studio 2015

BreakPoint的强化:

在过去中断点就只是个中断点,但是在大量的循环中或是大型的程序中下中断点时,为了想要当某参数在特定情况下进行中断时,就需要肉眼看着监看窗口搭配F5一次次的看每次中断点的状况,如果一不小心多按了一次F5,也有可能要整个再重新Debugging一次,因此在VS2015的Break Point可以进行条件上的设定。

12/10 - 修正:
在过去VS版本也是具有Conditions 与 Actions设定的功能,但并未这么直觉,而VS2015算是把这个功能强化并且变得更直觉简单使用。
有兴趣的人可以参考此篇MSDN文档
Breakpoints: Use Hit Counts, Call Stack 函数s, and Conditions to Break When and Where You Want in the Visual Studio Debugger
http://msdn.microsoft.com/en-us/library/5557y8b4.aspx

我写了一个For循环的小程序,并在里面下了一个中断点,你可以将鼠标移到中断点附近,会出现一个设定的图示,按下去后会出现BreakPoint Setting的画面

点击后会看到Conditions 与 Actions的两个选项,其中Conditions就是中断点的中断条件,里面有三种选择

  1. Conditional Expression
  2. Hit Count
  3. Filter

因此您可以根据您的状况选择,并且可以混用作为中断条件,例如选择Conditional Expression,并且条件输入 a==60时

程序开始执行后,会在a = 60的时后才程序才会触发中断,因此在大量循环或是大型程序里,就可以轻松在当a=60时将程序进行中断并且开始做Debugging

至于Actions,主要是可以设定触发中断时在输出窗口输出文字,或是设定是否要中断,或是直接继续执行程序,例如在Message输入以下输出消息,并将Continue execution打勾。

其中在你可以透过 { } 并在里面放入变量就可以将参数输出,以及配合 $ 可以输出一些内建的功能,例如将当时运行的函数输出等等

当程序开始执行,碰到设定条件的中断点时就会将我们要的消息输出到输出窗口里,但是其实并不会真的被中断。

另外提一下,现在VS2015的监控窗口或是及时运算窗口中都可以运算Lambda啦,配合上述的BreakPoint,相信可以帮助很多的开发人员Debugging他们的程序了!!!

过去在VS2013的监控窗口或是及时运算窗口中输入Lambda会出现这样的消息

在VS2015中....

是不是超方便的呢XDDD

Visual Studio 2015针对Debugging还有许多的强化,后续在慢慢介绍吧...........如果还有记得的话


欢迎大家一起到MSDN学习与讨论