文档详情

C#程序设计 鄢爱兰 第09章新.ppt

发布:2015-12-14约1.9千字共18页下载文档
文本预览下载声明
第9章 调试 9.1 简介 9.1.1 编译 9.1.2 链接 9.1.3 运行 9.2 使用调试器 9.2.1 断点 9.2.2 单步 9.3 关于调试的一个范例研究 9.4 常见错误 9.4.1 编译错误 9.4.2 运行时错误 9.4.3 逻辑错误 9.5 编程陷阱 9.6 新的IDE工具 9.7 小结 9.1 简介 调试的目的是发现程序中的bug并改正它。bug就是程序中的错误。 bug的可能来源可分为三个阶段: ①编译 ②链接 ③运行 9.1.1 编译 当键入程序时,C#开发环境执行全面的检查从而显示出程序中的错误,以防止它们继续保留下去。其中的一些错误在开始键入程序语句的时候就会被加上下划线。这些错误在术语上称为编译错误。最常见的例子有未经声明的变量,引号或括号缺失等。 9.1.2 链接 全部程序都利用库方法,有一些还利用程序员自己编写的类。仅当程序开始运行的时候才会链接这些类。但IDE在程序一键入时就会立即检查它们,以确保所有这些被调用的方法都确实存在,而且参数以正确的个数和类型进行匹配。在键入程序的时候,出错的地方也会被加上下划线。 9.1.3 运行 程序虽然运行,但第一次就像期望那样运行的情况很少。一些错误可被自动检测,然后告知程序员,比如试图用0除一个int数。其他错误则比较隐蔽,它们只是增加预想不到的行为。程序中可能有一个错误,也可能有多个错误,因此调试是必不可少的一项工作。 9.2 使用调试器 C#集成开发环境提供一个调试器。调试器是一个是一个命令行程序,帮助开发人员发现和调试基于CLR 的应用程序中的错误。它提供多种工具,其中包括单步和断点。 9.2.1 断点 断点是程序中止的地方,程序员可以使用调试器在程序中插入断点。通常,选择的最佳断点是在: 方法的开头,以检验方法的所有参数无误。 在方法刚被调用后(以检验方法正确地完成了工作)或在方法的末尾。 9.2.2 单步 调试器也允许每次执行程序的一行。这称为单步。 9.3 关于调试的一个范例研究 本程序用来证明罗密欧(Remeo)与朱丽叶(Juliet)之间 的爱情。出错代码如下: private void button1_Click(object sender, System.EventArgs e) { string left = leftTextBox.Text; string right = rightTextBox.Text; left = right; right = left; leftTextBox.Text = left; rightTextBox.Text = right; } 程序中只有一个方法,因此问题必定出在这个方法中。在方法开始的地方插入一个断点并单步执行这些语句,再将光标放在两个变量上(文本框的值)以显示它们的值。 9.4 常见错误 C#程序员很容易犯一些常见错误,主要是: 编译错误 运行时错误 逻辑错误 9.4.1 编译错误 C#开发环境在用户键入程序时将对程序执行多种检查,并在它发现有问题的地方用波浪形蓝色下划线显示。这些问题在术语上叫做编译或语法错误。 下面是一些容易引起编译错误的地方: 1. 变量名 2.方法和属性名称 3. 转换 9.4.2 运行时错误 运行时错误是在程序运行时发生的错误,但只能在运行时由系统检测。常见的运行时错误: 算术异常 数组索引 使用不存在的对象 9.4.3 逻辑错误 逻辑错误最难发现,因为它们随各个程序运行情况的不同而不同。因此没有检测这类错误的自动方式。但有两类错误是常见的。 正确初始化变量。 为事件提供处理时,很容易出现失败。 9.5 编程陷阱 上面已经讨论了许多常见错误的原因。 9.6 新的IDE工具 要插入或移去断点,单击左边的灰色条。Debug菜单提供移去全部断点和单步执行程序的选项。 9.7 小结 调试就是在程序中发现错误(bug)并改正它们。 C#集成开发环境提供一个“调试器”程序。 断点是程序暂时中断的地方。 单步是观察整个程序的执行流程的过程。 变量值可在断点或单步过程中显示。 * *
显示全部
相似文档