Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009

上传人:E**** 文档编号:89362992 上传时间:2019-05-24 格式:PPT 页数:185 大小:3.36MB
返回 下载 相关 举报
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009_第1页
第1页 / 共185页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009_第2页
第2页 / 共185页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009_第3页
第3页 / 共185页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009_第4页
第4页 / 共185页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009_第5页
第5页 / 共185页
点击查看更多>>
资源描述

《Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009》由会员分享,可在线阅读,更多相关《Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 009(185页珍藏版)》请在金锄头文库上搜索。

1、第9章 调试、测试与程序的 打包、部署,9.1 调试简介 9.2 测试简介 9.3 程序的打包和部署 9.4 综合案例: 简易计算器 制作、测试、打包和部署 本章小结 练习与作业 上机部分(九), 学习目标 理解如何调试应用程序和排除错误 掌握如何测试C#应用程序 了解测试和调试的区别 掌握Help类及其使用方法 掌握HelpProvider控件的使用方法 掌握各种部署应用程序的方法,9.1 调 试 简 介 每当提及我们为提高软件质量做了多少工作时,开发人员总会拍胸脯保证没有问题。然而,你要永远记住一个不争的事实:程序中可能始终存在缺陷,代码中存在错误也是难免的。毕竟,程序是人设计的,无论程序

2、员有多么优秀,程序可能总有一些问题。因此,调试、修复缺陷成为系统开发最耗时、最昂贵的过程,尤其是在大型软件开发过程中。我们将搜索和消除错误的过程称为调试。 调试是软件开发过程中最艰巨的脑力劳动。调试开始时,软件开发者仅仅面对着错误的征兆,然而在问题的外部现象和内在原因之间往往并没有明显的联系,在组成程序的密密麻麻,的元素中,每一个都可能是错误的根源。如何能在浩如烟海的程序元素中找到有错误的那个(或几个)元素,这是调试过程中最关键的技术问题。 9.1.1 调试的必要性 什么是缺陷呢?如果你的应用程序安装在任何机器上都会崩溃,你就会知道程序肯定有缺陷。发布后的系统有无缺陷呢?你可能听说过,应用程序

3、的用户抱怨说程序没有正常工作时,这就发生了比较微妙的错误。例如,在一个大型电费管理信息系统的运行中,操作员月末统计出的多张报表,发现相互矛盾的数据;当去图书馆借书,发现需要的图书已全部被别人借走时,你希望图书馆管理人员帮助你“预约借书”,可她操作后,计算机系统却显示“预约不成功”,然后终止应用程序。,实际上,我们把许多不同类型的问题都称为缺陷。数据被破坏是其中级别最高的,但是应用程序由于设计缺陷或者甚至界面设计混乱也会导致用户操作上的一些不方便(即不符合用户的习惯或不符合约定俗成)。例如:你在Microsoft Outlook中使用快捷键Ctrl+F,弹出的可能不是预期的查找窗口,而是转发窗口

4、(在几乎所有的应用程序中,快捷键Ctrl+F都会调出查找窗口)。 软件系统的开发包括一系列生产活动,其中由人带来的错误因素非常多。程序代码编写完成后,可能你的程序不能正常执行;程序执行后,可能还存在不影响应用程序执行的小问题,例如按钮的拼写错误等,它们也可能是导致应用程序完全失败的大错误(通常称为致命错误),致命错误包括妨碍代码编,译的简单错误(语法错误),但更多的错误比较棘手,它们只在运行期间发生。另外,错误可能会更微妙。如果遗漏了一个请求的字段,应用程序就不能给数据库添加一个记录;或者在其他有限制的环境中把错误的数据添加到记录中,应用程序逻辑在某些方面有瑕疵时,就会产生这样的错误,这类错误

5、称为语义错误(也称为逻辑错误)。此时需要跟踪代码,试着确定发生了什么问题,应如何修改代码,使之按希望的那样去做。 程序产生的错误分为以下三种: (1) 语法错误。因程序设计人员对程序设计语言的理解不够,或程序设计基本功不扎实造成的错误。程序员在编码时不遵循语法规则时,就产生语法错误,发生语法错误后编译不能通过。比如,在C#要求每行代码的行末必须加分号,漏掉分号被视为语法错误。,(2) 运行时错误。当应用系统运行时,操作员试图执行无法实施的错误时,会产生运行时错误。比如,在程序运行过程中用0作除数,这种情况就会产生运行时错误。 (3) 逻辑错误。是指那些虽然不违反系统规则,但是却不合逻辑或不合题

6、目语义的错误。这些错误系统一般很难自行检测出来,比如统计报表数据出错等。表9-1列出了不同错误类型的对比。,表9-1 不同错误类型的对比,9.1.2 调试过程 在调试模式下运行程序时,并不仅仅是运行编写好的代码。调试程序包含了应用程序的符号信息,这些信息包含在.pdb文件中,这些文件位于计算机的Debug目录下。它们可以执行许多有用的操作,包括(但不限于这些操作): 给VS调试信息; 在执行应用程序的过程中,查看(并编辑)变量的值; 暂停程序、重新启动程序; 在代码的某个位置自动暂停程序的执行; 一次执行程序中的一行代码; 在应用程序的执行过程中,监视变量内容的修改;, 在运行期间修改变量的内

7、容; 测试函数的测试调用。 在VS中,应用程序可以处于运行状态,也可以处于中断模式,即暂停正常的执行。很多程序员常常调用输出函数(如Console.WriteLine()等)来获得操作的额外反馈消息。这是一种有效的调试技术,但麻烦的是,一旦找到问题,必须从代码中删除这些输出函数的调用,这是一个相当繁琐的工作。 为简化此过程,Visual Studio 提供了调试器。Visual Studio调试器是一个功能强大的工具,它使您可以观察程序的运行时行为并确定逻辑错误的位置。该调试器可用于所有的 Visual Studio编程语言及其关联的库。使用调试器,可以中断(或挂起)程序的执行以检查代码,计算

8、和编辑程序中的变量,查看寄存,器,查看从源代码创建的指令,以及查看应用程序所占用的内存空间。Visual Studio还提供了新功能“编辑并继续”,使用此功能您可以在调试时对代码进行更改,然后继续执行。 Visual Studio 调试器提供了一个用于访问调试器工具的“调试”菜单。调试器的窗口和对话框显示有关您的程序的信息,并允许您输入附加的信息。您可以通过按F1键获得关于任何窗口或对话框的帮助。“调试”菜单如图9-1所示。,图9-1 “调试”菜单,使用调试器,我们可以在源代码行或函数上设置断点,断点通知调试器应在某点上中断应用程序并暂停执行。这时程序员可以做一些检查,比如检查变量的值,如需要

9、还可以修改变量的值,也可以检查其他情况。 当程序调试时,从菜单中选择“调试”“启动调试”。这样就在调试器中启动了程序,并因而激活了断点。一旦程序遇到断点,调试器便会接收程序的控制。这时会有一个箭头指向当前执行的行。要单步调试一行代码,可以选择“调试”“逐语句”,并观察光标是否移到下一行。“调试”“逐过程”命令允许您单步执行将要调用的函数。 提示:F5是启动调试的快捷键。,在Visual Studio 2005中设置简单断点可通过快捷菜单和通过“调试”菜单两种方法进行。 1通过快捷菜单设置简单断点 (1) 在源代码窗口中,单击要设置断点的那行可执行代码。 (2) 在快捷菜单中,转到“断点”,然后

10、选择“插入断点”,如图9-2所示。 程序运行遇到断点时,会在设置断点所在的代码行暂停运行,如图9-3所示。 提示:F9是插入断点的快捷键。,图9-2 通过快捷菜单设置简单断点,图9-3 程序在断点处暂停运行,2通过“调试”菜单设置简单断点 (1) 在源窗口中,单击要设置断点的那行可执行代码。 (2) 从“调试”菜单中选择“切换断点”。如图9-4所示。 普通断点标志符号说明如下: :实心标志符号指示断点已启用;空心标志符号指示断点已禁用。,图9-4 通过“调试”菜单设置简单断点,9.1.3 Visual Studio.NET中的调试工具 调试器提供了很多变量窗口,这些窗口用于显示、计算和编辑变量

11、与表达式。每个变量窗口都是网格窗口,其中包含三列:“名称”、“值”和“类型”。“名称”列包含变量名称或表达式。“值”和“类型”列显示变量或表达式的值和数据类型。可在调试过程使用的变量窗口包括:“局部变量”窗口、“自动”窗口、“监视”窗口、“快速监视”窗口和“即时”窗口。 调试程序时,从菜单中选择“调试”“窗体”“监视(W)”“监视1”,即可显示“监视1”窗口,如图9-5所示。类似地,可显示其他变量窗口。,图9-5 显示变量窗口,下面分别说明这几个窗口。 1“局部变量”窗口 显示对于当前上下文或范围来说位于当前作用域的变量。通常,这是当前正在执行的过程或函数。调试器自动填充此窗口。在Visual

12、 C# 中,如果禁用了异常助手,一旦出现活动异常,则“局部变量”窗口还会显示伪变量$exception,用以查看异常的详细信息。图9-6所示为“局部变量”窗口。 当程序执行从一个方法转向另一个方法时,“局部变量”窗口中显示的变量也会改变,只显示局部变量。可以修改字符串和数值变量的值,当值被改变后,新值显示为红色,应用程序将使用新值继续执行。,图9-6 “局部变量”窗口,2“自动”窗口 显示在当前代码行和上一代码行中使用的变量。对于本机 C+,“自动”窗口还显示函数返回值。与“局部变量”窗口类似,“自动”窗口是由调试器自动填充的。图9-7所示为“自动”窗口。 3“监视”窗口 在“监视”窗口中可以

13、添加被监视值的变量。此外,还可以添加变量以外的其他内容。您可以添加调试器所能识别的任何有效表达式。Visual Studio 2005有多个“监视”窗口,其编号为Watch1到Watch4。 执行程序时,“监视”窗口会自动跟踪变量的值,如果被监视的变量不在当前执行的方法内,将会显示“操作符超出范围”的错误。图9-8所示为“监视”窗口。,图9-7 自动窗口,图9-8 “监视”窗口,4“快速监视”窗口 “快速监视”在概念上类似于“监视”窗口,但是“快速监视”每次只能显示一个变量或表达式。如果需要快速查看变量或表达式而不想打开“监视”窗口,则可以使用“快速监视”。但是,很多用户会发现新的增强的数据提

14、示功能强大,以至于他们越来越少地使用到“快速监视”。图9-9所示为“快速监视”窗口。 虽然“快速监视”是对话框,但其工作方式很像其他变量窗口。除了特别指出的不同之处以外,这一节所描述的过程适用于“快速变量”对话框以及其他变量窗口。,图9-9 “快速监视”窗口,5“即时”窗口 “即时”窗口可用于检查变量的值、给变量赋值以及运行一行代码。要查找变量的值,需要在变量前添加问号“?”,如图9-10所示。要想改变变量的值,在此窗口键入赋值代码,然后按下Enter键。 调试器具有许多其他工具的功能。例如,可以使用“寄存器”窗口显示寄存器的内容,还可以获得内存转储和关于进程中线程的信息。 下面介绍Visua

15、l Studio 2005中编译调试新功能“可视化调试器”。,图9-10 “即时”窗口,6可视化调试器(Debugging Visualizers) 在调试的时候,我们常会遇到的较麻烦的问题,就是有的时候很难看到某些参数的值。比如,你设置了一个断点去监测一个DataSet,并且想看DataSet里的每个DataTable的数据,这在Visual Studio 2003中是十分麻烦的,必须在“自动/局部变量”的监视窗口中,一层层地展开去看其值。在Visual Studio 2005中,为解决这个问题,新增加了“可视化调试器”的功能,该功能可以在调试状态时,很容易方便地以各类形式查看各种参数。 在

16、各类监视窗口中,比如在“局部变量”窗口、“自动”窗口、“监视”窗口、“快速监视”窗口中,都可以调用可视化调试器,方法是在某个需要监视的参数旁边,点击放大镜图标,就可以在打开的可视化调试器中看到该参数的详细情况,如图9-11所示。 利用可视化调试器,就可以很方便地查看诸如DataSet类型的数据。,图9-11 “可视化调试器”窗口,9.1.4 实例1:在VS.NET 2005中调试程序 使用VS.NET 2005的“编辑并继续”功能,可以一边进行调试一边在中断模式下更改代码。不必停止并重新启动调试会话,即可应用更改。 (1) 使用C#建立一个WinForms的应用程序,命名为Debug。 (2) 为窗体添加如表9-2所示的控件。 程序主界面如图9-12所示。 我们要实现的功能是,在文本框输入一些信息后,点按钮,会弹出一个消息框,显示的是刚才输入的信息。,表9-2 窗体的控件列表,图9-12 程序主界面,(3) 编写的代码如下所示,假设我们出现了一个小错误,把textbox1.text的内容当作字符串的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号