- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6 程序的调试 错误的种类 代码的错误通常可以分成三大类 语法错误 运行错误 逻辑错误 其中语法错误比较容易排除,也是一种低级的错误。运行错误和逻辑错误需要靠经验、调试工具以及不断的深入代码来排除。 语法错误 此类型的错误通常发生在程序员对语言本身的熟悉度不足 如if之后忘了加上大括号、For语句少了分号。还有比如定义一个变量是Student,但是在引用的时候不小心就变成studnet了。还有一种情况是调用函数错误的语法。 例如调用SubString函数少传了一个参数。使用Visual Studio.NET开发工具,多数的错误会在编辑程序的时候发现。 逻辑错误 逻辑错误(Logic Error)是指程序算法的错误,这种错误程序不会发生任何程序中断或跳出程序,而是一直执行到最后,可能有结果。但是执行结果是不对的。 如计算1到10的总数,结果应该为55,利用下面的算法。 运行时错误 运行时错误(Runtime Error)多数发生在不可预期的异常。 比如打开硬盘上的某个文件时,该文件不存在。向硬盘上写某个文件的时候,硬盘的空间不足。 由于网络阻塞得不到预期的数据等等。也有可能是用户不按正确的操作步骤而造成的错误, 如在做除法的时候除数为零,访问数组的时候,超出了可访问下标的范围,这些都是发生错误的原因。比如下面的代码。 程序调试的基本手段 断点 跟踪 监视 断点 断点 用鼠标单击左边 Ctrl+B 调试|窗口|断点 Ctrl+Alt+F9 断点的属性 条件断点(先设置断点,右击,可编辑条件) 命中次数 清除或禁用断点 清除所有断点 Ctrl+Shift+F9 跟踪 单步执行 逐语句 F11 逐过程 F10 点右键,运行到光标处 跳出函数 Shift+F11 拖动到下一句(跳过中间一些语句) 监视 即时监视 快速监视 Ctrl+Alt+Q 自动窗口 调用堆栈 指令 调试|窗口|反汇编 练习 练习基本类的用法 练习常用算法 练习调试 参见forDebug下的示例 while循环的跟踪 数组的跟踪(筛法求素数) 构造方法执行过程的跟踪 一个dotNET BUG的跟踪 一个奇异的bug int a = 0x79de61c0; //2044617152; a += 0 //a 应为 0x8c12b838; //-1944930248 if( a 0 ) a = -a; // 注意,如果加上以下语句,则程序出错 //string str1 = a.ToString(); System.Console.WriteLine( a ); // 一个我发现的在.net fx1.1中的 bug,见/dstang2000 问题与讨论 dstang2000@263.net 使用ASP.NET WebMatrix 中的Class Browser 第5章 基础类及常用算法 唐大仕 dstang2000@263.net 本章内容 1 DotNet基本类库 2 类型转换 3 数学、文字、日期 4 数组、集合、泛型 5 常用算法 6 程序的调试 5.1 DotNet基本类库 统一的编程API:NET Framework 类库 System System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel 统一的编程API:NET Framework 类库 5.2 基本类型及类型转换 任何事物都是对象 任何事物都是object类的子类 一个函数如果需要object参数,则可以代入任
文档评论(0)