
ZJWCHC 第五章 调试、测试和异常处理
ZJWCHC 第五章 调试、测试和异常处理

目标 ◆理解如何调试应用程序和排除错误 ◆掌握如何测试C#应用程序 ◆了解测试和调试的区别 ◆在程序中进行错误捕获和错误处理
2 目标 理解如何调试应用程序和排除错误 掌握如何测试 C# 应用程序 了解测试和调试的区别 在程序中进行错误捕获和错误处理

应用程序必须 我的文 无错误 g果 无故障 网上月 可靠 回收站 窗口) 启动) 可以安装在 开始执行不试) 稳健 易进程心 此万法的内。 异常) 逐语句) FIL [口逐过程@) P10 Ann Container( 西新断点 Ctrl+B 0清除所有断点C)Cr1+s+9 Windows应 ASP.NET Web 程序 查找和排除错误或故障称为调试 应用程序开发 到开始意的四回口白 蓝白1917
3 简介 应用程序开发 可以安装在客户端机器上 应用程序必须 无错误 无故障 可靠 稳健 查找和排除错误或故障称为调试

调试的必要性 计算机化的计费系统 必须重新输入全部信息 系统发生故障 在事物处理过程中,系统显示错误消息 在部署应用程序前必须先对其进行调试
4 调试的必要性 在事物处理过程中,系统显示错误消息 系统发生故障 必须重新输入全部信息 在部署应用程序前必须先对其进行调试

错误类型 错误类型 语法错误、缺少括号等 语法错误 错误的算法导致错误结果、公式错 误等 逻辑错误 在执行过程中确定 运行时错误 内存泄漏、以零作除数、异常 在运行时确定 难以调试
5 错误类型 错误类型 语法错误 逻辑错误 运行时错误 ⚫语法错误、缺少括号等 ⚫在编译时确定 ⚫易于确定 ⚫错误的算法导致错误结果、公式错 误等 ⚫在执行过程中确定 ⚫ ⚫内存泄漏、以零作除数、异常 难以调试 ⚫在运行时确定 ⚫难以调试

调试过程5-1 调试器 观察程序的运行时行为 跟踪变量的值 确定语义错误的位置 查看寄存器的内容 查看内存空间 6
6 调试过程 5-1 调试器 观察程序的运行时行为 跟踪变量的值 确定语义错误的位置 查看寄存器的内容 查看内存空间

调试过程5-2 Form1 ▣x File Options 可在代码中插入“断点”,以便在特 定行处暂停执行该代码 Windows应用 暂停 程序 >
7 调试过程 5-2 暂停 可在代码中插入“断点”,以便在特 定行处暂停执行该代码

调试过程5-3 HelloWorld Hicrosoft Visual Studio ▣☒ 文件)编猫但)视图0重构⑧)项目)生成)调试①)数客公)工具)试S)窗口)社区C)帮助D Any CPU 回,地生滨读三皇口纪动Q Px0gx.es Forml.c:[设计打起始页对象浏览器 曰using 右键单击所需代码行,以设置断点 using 重构) using System.Tex 创建单元测试G) 插入代码段) namespace Conso 司外侧代码S 口转到定义G) 选择“插入断点” class Progr 查找所有引用A 断点 插入断点3) static 三运行到光标处D 插入跟踪点) 转瘦端 复制) 尼贴伊 大铜是示立) Expand ActiveSnippet Qutput ActiveSnippet Usage 错误列表之查找符号结果 就害 列1 C17 Ins 6
8 调试过程 5-3 右键单击所需代码行,以设置断点 选择“插入断点

调试过程5-4 Example 1-Microsoft visual C#.NET ]-SingleInher.cs 回x 文件)编辑)视图)项目)生成⑧)调试四)工具I)窗口巡)帮助0 门~海·3日自名阳色n,·园,耳,bue 园包灶套享三兰4%%%,,H■田中生十大进制四,, 起始页SingleInher..cs P× Example_1.Employee 习◆AccepDetas0 令 解决方案 1/接受姓名和学历 public void AcceptDetails() Console,.riteLine(输人姓名 this._name=Console.ReadLine(); Console.riteLine("输入基本学历"): this._qualifications=Console.ReadLine(); /显示职员的姓名和学历 public void DisplayDetails() Console.WriteLine () Console.WriteLine(0}的详细信息为:”,this.name) Console.WriteLine("姓名:{O”,this.name), 选择“调试”→“继续”以便继续执行程序 9
9 调试过程 5-4 选择“调试” →“继续”以便继续执行程序

调试过程5-5 NET集成开发环境 Debug模式 Release模式 Printer.cs taee生成⑧) 调试①)工具)窗口巡)帮助0 具,具,Debug □Thread0 fListen Debug 餐器 同 10
10 调试过程 5-5 .NET 集成开发环境 Debug模式 Release模式