技术开发 频道

C#调试三部曲:从入门到精通

  将Visual Studio与一个运行中的进程连接

  当你按下F5对程序开始调试时,VS.NET会对项目进行生成(如果有必要的话)并以调试模式启动程序。也就是说,只要项目位于debug版本的程序集中,VS.NET就与运行得程序之间建立了连接,以便对断点等与调试相关的方法作出反应。

  不过有些时候,我们需要或者想要对正在运行得Visual Studio之外启动的进程进行调试。当进程位于debug版本的程序集中,这是可以做到的。

  1. 选择“工具—>调试进程”列出所有正在运行得程序,如下图

调试Visual Studio中的多个项目
 

  2. 选择自己感兴趣的进程,点击连接,此时Visual Studio自动切换到了调试模式。

  3. 打开Progress窗口,发现我们刚刚选择的进程在列表中,如下图

调试Visual Studio中的多个项目
 

  这一技巧可以让你对Windows服务进程进行调试。编写Windows服务进程时,你无法按F5启动调试,因为它们必须先通过管理工具安装后启动才能运行。如果你在调试模式下生成并安装服务程序,就可以使用这一技巧进行调试。

  而且你可以对SQL存储过程使用同样的方式进行调试。如果你安装了SQL Server调试组件,并且有足够的权限,就可以连接到SQL Server的进程,并在服务器中为存储过程设置断点来一步步执行。

  调试Visual Studio中的多个项目

  在实际开发中,我们往往分了许多层,有许多的项目集合在一个解决方案下。我们可以右击要调试的项目选择“调试-->运行新实例”来实现调试这个项目。我也可以右击解决方案,选择多项目调试,如下图

调试Visual Studio中的多个项目
 

  我们还可以设置项目的期待顺序。在客户端/服务器(CS结构)程序中,我们可以使用这一方法来确保服务器端程序在客户端程序之前运行。

  只在特定类型的异常时中断

  一个健壮的程序会在运行时处理所有可能出现的异常。不过开发者在调试复杂的程序时会觉得这样有些麻烦。因为所有的异常都被处理掉了。在出现任何异常时,Visual Studio不会再进行处理,或者中断代码来对用户作出提示。

  幸运的是Visual Studio有个选项可以让开发者指定他们关心的异常类型。选择菜单栏à调试à异常,或者使用快捷键Ctrl+Alt+E。如下图

调试Visual Studio中的多个项目
 

  我们可以看到一个树状结构列出所有VS可以监视到的异常。

  后面的两个勾选框的意思分别为是否被抛出和用户是否不处理。

  相关测试代码下载:http://down.51cto.com/data/138874

0
相关文章