web应用开发技术教学课件作者台雯第八章

上传人:E**** 文档编号:102556724 上传时间:2019-10-03 格式:PPT 页数:90 大小:1.92MB
返回 下载 相关 举报
web应用开发技术教学课件作者台雯第八章_第1页
第1页 / 共90页
web应用开发技术教学课件作者台雯第八章_第2页
第2页 / 共90页
web应用开发技术教学课件作者台雯第八章_第3页
第3页 / 共90页
web应用开发技术教学课件作者台雯第八章_第4页
第4页 / 共90页
web应用开发技术教学课件作者台雯第八章_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《web应用开发技术教学课件作者台雯第八章》由会员分享,可在线阅读,更多相关《web应用开发技术教学课件作者台雯第八章(90页珍藏版)》请在金锄头文库上搜索。

1、第8章 Web应用程序的调试和部署,8.1 Web应用程序的调试 8.2 Web应用程序的部署,8.1 Web应用程序的调试,任何编程人员都不可能避免会在编程过程中出现错误,有些错误并不是一些常见的语法错误或逻辑错误,能否成功调试和避免程序中出现的错误和异常,才是一个真正的编程人员应该做到的。 所谓程序调试,是指将编写的程序在实际投入运行前,用手工或编译程序等方法进行测试,修正语法错误或逻辑错误的过程,是保证计算机信息系统正确性必不可少的步骤。 下面将介绍ASP.NET常用的几种调试方法。,下一页,返回,8.1 Web应用程序的调试,8.1.1 用集成的调试工具调试 Visual Studio

2、 2005.NET内部集成了一个自带的调试工具,如图8-1所示,用它可以调试用C#语言编写的程序和项目,其使用方法也是非常简单和易懂的,比较适合初学者去发现和解决编程过程中存在的错误和异常。 程序开发过程中,如果程序编译时需要系统自动编译调试的话,需要在Web.Config配置文件中的设置compilation debug=“true“来将调试符号插入到已编译的页面中。,上一页,下一页,返回,8.1 Web应用程序的调试,但由于这会影响性能,因此只在开发过程中将此值设置为True,在系统投入正式运行使用的时候将其设置为False。 ,上一页,下一页,返回,8.1 Web应用程序的调试,下面介绍

3、编译时调试和断点调试两种调试方法。 1.编译时调试 当编写完一个程序模块后都要验证程序的正确性,可以让正在编写的程序运行一下,然后看其运行的结果是否和事先设想的一样。 程序在运行的过程中要对现有的程序进行编译和解释,如果代码中存在一些错误,编译器会及时发现错误,并将错误信息显示在错误列表中,如图8-2所示。,上一页,下一页,返回,8.1 Web应用程序的调试,程序的错误信息不但显示在Visual Studio 2005.NET错误列表中,还显示在运行的Web页面中,并提示测试人员错误在哪里,以及简单的处理办法,如图8-3所示。 2.断点调试 断点是使调试器在某个特定点上暂时将程序执行挂起,当执

4、行到某个断点处并挂起时,程序处于中断模式,在中断模式下,可以检查它们的位置和状态,以查看是否存在错误或bug,并在中断模式下对程序进行调整。,上一页,下一页,返回,8.1 Web应用程序的调试,断点调试是十分有效的调试方法,与逐行逐句地检查代码方式不同的是,可以让程序一直执行,直到遇到断点,然后开始调试。这种方法大大地加快和细化了程序调试过程,利用这种方法可以轻松地面对更大程序的调试。 1)设置断点 在调试程序的过程中,可以对程序中的任何一行添加断点,添加断点的方法有两种。,上一页,下一页,返回,8.1 Web应用程序的调试,用鼠标对准要添加断点的代码行,在其左侧空白区单击,这时在空白区域中就

5、会出现一个深红色的断点图标,同时代码颜色也变成深红色,再单击该断点图标,即取消断点设置。 第二种方法,是将光标插入要设置断点的代码行的任何位置,按F9键,就为该行代码设置断点,再按F9键,即取消断点的设置。,上一页,下一页,返回,8.1 Web应用程序的调试,设置断点的效果图如图8-4所示。 2)管理断点 可以通过“断点”窗口来管理已经设置的断点,如图8-5所示。 如图8-5所示,通过“断点”窗口可以激活和禁用已经设置的断点,当复选框被选中时,该段点为激活状态,反之为禁用状态。“断点”窗口中还包括断点所在的文件名和位置,以及命中的次数。,上一页,下一页,返回,8.1 Web应用程序的调试,3)

6、设置条件断点 上面的例子中设置的断点在调试时,只要调试器调试到该断点,执行就会暂停,这种断点也可以称为无条件断点。 在实际调试过程中,并不需要调试器每次遇到断点就暂停,这时条件断点就非常有用了,可以通过设置条件断点,让程序在符合条件的时候暂停执行。,上一页,下一页,返回,8.1 Web应用程序的调试,设置条件断点的方法很简单,在代码窗口选中要设置条件断点的断点,右击,在弹出的快捷菜单中选择“断点”命令,再在弹出的子菜单中选择“条件”命令,就可以弹出“断点条件”对话框,如图8-6所示,当i值只有大于等于50的时候才挂起。 4)运行断点 当程序程序调试运行到断点处时,程序暂停执行,被执行到的断点处

7、代码将以黄色显示,此时可以通过表8-1中的功能键进行调试。,上一页,下一页,返回,8.1 Web应用程序的调试,如图8-7所示示例,当利用断点进行调试过程中,可以通过局部变量窗口查看程序在运行过程中局部变量i的取值变化情况。,上一页,下一页,返回,8.1 Web应用程序的调试,8.1.2 用Response.Write调试 在程序开发过程中,遇到一些错误是很正常的,有些错误是很容易发现和解决的,如当代码行最后少敲入一个分号的时候,程序在运行调试的时候,编辑器就会提示开发人员错误的原因和位置。但是有的时候,程序没有明显的语法或逻辑错误,可是程序结果不正确,这时候,可以通过Response.Wri

8、te方法将运算过程中的一些中间值输出出来,看看运算过程中是不是存在问题。,上一页,下一页,返回,8.1 Web应用程序的调试,例8-1编写一个求1100之间3和5的倍数之和的程序,其代码如下所示: protected void Page_Load(object sender,EventArgs e) int s=0;/保存3和5的倍数之和用 for(int i=1;i=100;i+),上一页,下一页,返回,8.1 Web应用程序的调试, if(i%3=0|i%5=0) s=s+i; Label1.Text=“1-100之间3和5的倍数之和为:“+s.ToString(); ,上一页,下一页,返

9、回,8.1 Web应用程序的调试,程序在编译运行过程中很正常,并没有报出任何错误,运行结果如图8-8所示。 仔细想想,该程序的运算结果是有问题的,1100之和为5 050,1100之间3和5的倍数之和一定不会有2418这么大。 可以用Response.Write将程序每次循环的运算结果显示出来,查看运算过程中是否存在问题,代码如下所示:,上一页,下一页,返回,8.1 Web应用程序的调试,protected void Page_Load(object sender,EventArgs e) int s=0; int j=1;/保存3和5循环次数 int d=0;/保存上一次3和5的倍数之和用

10、for(int i=1;i=100;i+),上一页,下一页,返回,8.1 Web应用程序的调试, if(i%3=0|i%5=0) d=s;/保存上一次总和 s=s+i;/保存本次总和 Response.Write(“第“+j.ToString()+“循环S=“+d.ToString()+“+“+i.ToString()+“=“+s.ToString()+“);,上一页,下一页,返回,8.1 Web应用程序的调试,j=j+1;/循环次数增1 Label1.Text=“1-100之间3和5的倍数之和为:“+s.ToString(); 加上Response.Write后程序的运行效果如图8-9所示。

11、,上一页,下一页,返回,8.1 Web应用程序的调试,由于该运行页面内容太多,只截取10次循环的输出结果。从这10次循环的输出结果不难发现,这个程序算的并不是3和5的倍数,而是3或5的倍数,这样就很明显地发现了程序的问题。应该把if语句中的条件修改为if(i%3=0&i%5=0),修改后的运行结果如图8-10所示。 修改后,程序的运算结果就正确了,问题也解决了,之后只需要将Response.Write语句和其他的辅助语句去掉就可以了。,上一页,下一页,返回,8.1 Web应用程序的调试,从上面这个例子可以看到Response.Write调试方法在程序开发过程中的作用是很明显的,在很多情况下能够

12、解决一些实质性的问题,给编程人员带来很大的帮助。,上一页,下一页,返回,8.1 Web应用程序的调试,8.1.3 用trycatchfinally调试 在C#程序中,当出现某个异常错误的时候,就会创建一个异常对象,包含异常信息。.NET提供了许多预定义的异常类,这些异常类都派生于System.Exception这个异常类。 为了在C#代码中处理可能的错误情况,一般把程序的相关部分分成trycatchfinally3个代码块: try块包含的代码组成了程序的正常操作部分,但可能遇到某些错误异常;,上一页,下一页,返回,8.1 Web应用程序的调试,catch块包含代码处理各种错误异常,这些错误异

13、常是try块中的代码执行过程中产生的; finally块包含释放资源的代码,有时候可以省略。 例8-2下面以一个登录窗口的身份验证为例,使用trycatchfinally调试,代码如下所示: private void button1_Click(object sender,EventArgs e),上一页,下一页,返回,8.1 Web应用程序的调试, string yhm=textBox1.Text.Trim(); string mm=textBox2.Text.Trim(); string sql=“select*from userPass where uid=“+yhm+“and pass

14、word=“+mm+“; SqlConnection conn=null; SqlCommand cmd=null;,上一页,下一页,返回,8.1 Web应用程序的调试,string strConn=Properties.Settings.Default.TestConnectionString; try/以下为有可能出现异常的代码块 if(yhm!=“&mm!=“)/用户名和密码文本框不能为空,上一页,下一页,返回,8.1 Web应用程序的调试, conn=new SqlConnection(strConn); conn.Open();/连接数据库 cmd=new SqlCommand(sq

15、l,conn); SqlDataReader sdr=cmd.ExecuteReader(); sdr.Read();,上一页,下一页,返回,8.1 Web应用程序的调试,if(sdr.HasRows)/通过验证 Response.Write(“登录成功!“); /登录成功后执行的一些操作 else/用户名或密码有问题 ,上一页,下一页,返回,8.1 Web应用程序的调试,textBox1.Text=“; textBox2.Text=“;/清空代码 textBox1.Focus();/聚焦光标 Response.Write(“用户名或密码有问题,请重新输入!“); ,上一页,下一页,返回,8.

16、1 Web应用程序的调试,else/用户名或密码未输入 Response.Write(“用户名或密码未输入!“); textBox1.Focus(); catch(Exception ex)/抛出异常,上一页,下一页,返回,8.1 Web应用程序的调试, Response.Write(ex); finally/释放资源 cmd.Dispose(); conn.Dispose();,返回,上一页,下一页,8.1 Web应用程序的调试, 程序运行效果略,当程序在执行过程中当遇到数据库连接或数据库操作以及其他的一些异常,catch就会抛出异常,由Response.Write(ex),将异常信息显示出来。 关于trycatchfinally更高级和更详细的用法,大家可以参考其他关于异常处理的书籍,这里就不再赘述了。,返回,上一页,下一页,8.1 Web应用程序的调试,8

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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