本书从初学者角度出发, 以通俗易懂的语言、丰富多彩的示例, 使用最新的Visual Studio 2010开发环境, 详细介绍了使用ASP.NET进行Web程序开发需要掌握的各方面知识。全书共分31章, 包括ASP.NET开发入门、C#语言基础、ASP.NET的内置对象、ASP.NET Web常用控件、数据验证技术、母版页、主题、数据绑定、使用ADO.NET操作数据库、数据控件、站点导航控件、Web用户控件、ASP.NET缓存技术、调试与错误处理等内容。
明日科技,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学、方便以及相关知识的拓展,深受读者喜爱。其编写的图书主要有“软件开发视频大讲堂”“软件开发实战1200例”“软件工程师开发大系”等系列。多次荣获“全行业品种”“中国大学出版社书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
13.1程序调试
程序调试是在程序中查找错误的过程,在开发过程中,程序调试是检查代码并验证它能否正常运行的有效方法。另外,在开发时,如果发现程序不能正常工作,就必须找出并解决有关问题。本节将对几种常用的程序调试操作进行讲解。
13.1.1断点
断点通知调试器,应用程序在某点上(暂停执行)或某情况发生时中断。发生中断时,称程序和调试器处于中断模式。进入中断模式并不会终止或结束程序的执行,所有元素(如函数、变量和对象)都保留在内存中。执行可以在任何时候继续。
插入断点有3种方式:在要设置断点行旁边的灰色空白处单击;右击设置断点的代码行,在弹出的快捷菜单中选择“断点”/“插入断点”命令,如图13.1所示;单击要设置断点的代码行,选择菜单中的“调试”/“切换断点”命令,如图13.2所示。
图13.1右击插入断点图13.2菜单栏插入断点
插入断点后,就会在设置断点的行旁边的灰色空白处出现一个红色圆点,并且该行代码也呈高亮显示,如图13.3所示。
图13.3插入断点后效果图
图13.4选择“删除断点”命令
删除断点主要有如下3种方式。
t可以单击设置了断点的代码行左侧的红色圆点。
t在设置了断点的代码行左侧的红色圆点上右击,在弹出的快捷菜单中选择“删除断点”命令。
t在设置了断点的代码行上右击,在弹出的快捷菜单中选择“断点”/“删除断点”命令,如图13.4所示。
13.1.2开始执行
开始执行是最基本的调试功能之一,从“调试”菜单(见图13.5)中选择“启动调试”命令或在源窗口中右击,可执行代码中的某行,然后从弹出的快捷菜单中选择“运行到光标处”命令,如图13.6所示。
图13.5“调试”菜单图13.6某行代码的右键菜单
除了使用上述的方法开始执行外,还可以直接单击工具栏中的按钮,启动调试,如图13.7所示。
图13.7工具栏中的启动调试按钮
如果选择“启动调试”命令,则应用程序启动并一直运行到断点。可以在任何时刻中断执行,以检查值、修改变量或检查程序状态,如图13.8所示。
图13.8选择“启动调试”命令运行结果
如果选择“运行到光标处”命令,则应用程序启动并一直运行到断点或光标位置,具体要看是断点在前还是光标在前,可以在源窗口中设置光标位置。如果光标在断点的前面,则代码首先运行到光标处,如图13.9所示。
图13.9选择“运行到光标处”命令运行结果
13.1.3中断执行
当执行到达一个断点或发生异常,调试器将中断程序的执行。选择“调试”/“全部中断”命令后,调试器将停止所有在调试器下运行的程序的执行。程序并不退出,可以随时恢复执行。此时调试器和应用程序处于中断模式。“调试”菜单如图13.10所示。
除了通过选择“调试”/“全部中断”命令中断执行外,也可以单击工具栏中的按钮中断执行,如图13.11所示。
图13.10“调试”菜单图13.11工具栏中的中断执行按钮
13.1.4停止执行
停止执行意味着终止正在调试的进程并结束调试会话,可以通过选择菜单中的“调试”/“停止调试”命令来结束运行和调试。也可以单击工具栏中的按钮停止执行。
13.1.5单步执行
通过单步执行,调试器每次只执行一行代码,单步执行主要是通过“逐语句”、“逐过程”和“跳出”这3种命令实现的。“逐语句”和“逐过程”的主要区别是当某一行包含函数调用时,“逐语句”仅执行调用本身,然后在函数内的第一个代码行处停止。而“逐过程”执行整个函数,然后在函数外的第一行处停止。如果位于函数调用的内部并想返回到调用函数时,应使用“跳出”命令,“跳出”命令将一直执行代码,直到函数返回,然后在调用函数中的返回点处中断。
当启动调试后,可以单击工具栏中的按钮执行“逐语句”操作、单击按钮执行“逐过程”操作和单击按钮执行“跳出”操作,如图13.12所示。
……