码迷,mamicode.com
首页 > Windows程序 > 详细

16. C# -- 调试和错误处理

时间:2015-05-15 15:57:21      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:c#

 

 调试和错误处理

·         错误类型:

在编译期间和运行期间,致命错误(语法错误)都会使应用程序完全失败,语义错误或逻辑错误比较微妙,可能会使应用程序执行不正确,或者以未预料的方式执行;

  • 输出调试信息:

我们在编写代码,把有帮助的信息输出到output窗口中,以帮助在IDE中进行调试。为此需要使用DebugTrace系列函数,其中Debug函数在发布版本中会被忽略。对应投入生产的应用程序,应把调试输出写入日志文件,在VS中,还可以使用跟踪点输出调试信息;

  • 中断模式:

可以通过断点,判断语句,或者在发生未处理的异常时,手工进行中断模式(暂停应用程序的状态)。可以在代码的任意位置添加断点,在VS中,还可以把断点配置为仅在特定条件下中断执行,在中断模式下,可以检查变量的内容(使用各种调试信息窗口),每次执行一行代码,以帮助确定哪里出现了错误;

  • 异常:

异常时运行期间发生的错误,可以通过编程方式捕获和处理这种错误,以防止应用程序终止。跳跃函数或处理变量时,可能会发生许多不同类型的异常,还可以使用throw关键字生成异常;

  • 异常处理:

代码中未处理的异常会使应用程序终止。使用try,catchfinally代码块处理异常。Try 块标记了一个启用异常处理的代码段,catch块包含的代码仅在异常发生时执行,它可以匹配特定类型的异常,还可以保护多个catch 块,Finally 块指定异常处理完毕后执行的代码,如果没有发生异常,Finally 块就指定在try块执行完毕后执行的代码,只能包含一个Finally块,如果包含了catch 块,Finally块是可选的。

 

1.两种方式执行应用程序:

·         Debug

F5绿色play 按钮

·         debug

Debug |Start  without debugging ctrl + F5

2.调试:如何使用调试技巧确定未按预期方式执行的那些代码,并修改它们。

3.应用程序状态:

 1.非中断模式(运行期间或正常执行)

Using system.diagnostics;

输出调试信息两种方式:诊断输出和跟踪点

技术分享

诊断输出:debug.writeline();  trace.writeline() (不常用

诊断输出:从应用程序中输出调试结果时使用这种方法,尤其是在要输出的字符串比较复杂,涉及几个变量或许多信息的情况下,使用该方法比较好。如果要在发布模式下获得执行应用程序的调试结果,trace命令是唯一选择;

Debug模式下,记述在循环中计算出结果所采取的步骤;

Release 模式下,仅能看到计算的最终结果,因为没有调用debug.writeline()函数;

技术分享

跟踪点:是把信息输出到output窗口的另一种方法,是VS的一个功能。其作用和Debug.WriteLine()相同。只输出调试信息且不修改代码;(常用

技术分享

2.中断模式调试

技术分享

技术分享

断点:

技术分享

技术分享

技术分享

技术分享

4.监视变量的内容:

技术分享

5.单步执行代码

技术分享

6Immediate command 窗口

技术分享

7Call stack 窗口

技术分享

技术分享

8.错误处理,处理异常

Try … catch.. finally

技术分享

技术分享

技术分享

技术分享

 

9列出和配置异常

Debug –exceptions—common language runtime exceptions.可看到system 名称空间中的异常

10异常处理的注意事项

 为比较特殊的异常提供catch catch块顺序错误应用程序就会编译失败。

若使用throw,该异常不会有当前的try.. catch.. finally 块处理

 

本文出自 “Ricky's Blog” 博客,请务必保留此出处http://57388.blog.51cto.com/47388/1651512

16. C# -- 调试和错误处理

标签:c#

原文地址:http://57388.blog.51cto.com/47388/1651512

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!