首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > Delphi > 复习资料 > 正文

2011计算机等考Delphi讲义:异常处理与程序调试

来源:考试吧Exam8.com) 2010-10-28 11:26:53 考试吧:中国教育培训第一门户 模拟考场
Delphi提供了一套强大的异常处理机制。巧妙地利用它,可以使你的程序更为强健,使用更为友好。

  12.4.1.2 运行程序

  通过调试器(包括内置调试器)运行程序,当程序处于等待状态时,调试器可以获得控制,利用调试器的功能来检查当前程序的状态。通过合理布置屏幕显示,使应用程序运行窗口和Code Editor(代码编辑器)互不重叠,可以让用户在它们间方便地切换以观察代码执行的效果。

  如果希望使用命令行参数来调试程序,则可以通过Run|Parameters 菜单打开运行参数对话框进行设置。

  12.4.2 程序运行的控制

  程序运行控制的方法和使用如下表。

  表12.7 程序运行控制的方法和使用途径

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  方法 使用途径

  ───────────────────────────────

  运行到光标位置 ● Code Editor加速菜单的Run to Cursor项

  (Run to Cursor) ● Run主菜单的Run to Cursor项

  ● F4

  跟踪(Trace Into) ● Run主菜单的Trace Into项

  ● Trace Into加速按钮

  ● F7

  步进(Step Over) ● Run主菜单的Step Over项

  ● Step Over加速按钮

  ● F8

  运行到断点 设置断点并按正常方式运行

  暂停程序执行 Run主菜单的Program Pause项

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  跟踪和步进都是一种单步执行方式。但“步”的含义不同。对跟踪而言它一次执行一条简单程序语句。当碰到包含调试信息的函数或过程调用时则跳入该函数或过程,并执行其第一条可执行语句。对步进而言它一次执行一条当前模块的可执行语句,而不管该语句是否是函数或过程调用。

  运行到光标位置和运行到断点都是程序正常运行到某一确定的源代码位置,而后进入调试状态。但相对于运行到光标位置而言,运行到断点更为灵活。因为断点一次可设置多个,同时也可以对断点设置一定的条件。只有满足该条件程序运行才会中止。

  12.4.3 断点的使用

  12.4.3.1 设置断点

  设置断点首先在Code Editor中选定你想设置断点的代码行,而后进行如下的任一种操作:

  ● 单击选定代码行左边的空白

  ● 按F5

  ● 选择Code Editor加速菜单的Toggle BreakPoint项

  ● 选择Run|Add Breadpoint打开断点编辑对话框(Edit BreakPoint Dialog Box),而后选择New去确认一个新的断点设置或选择Modify去对一个存在的断点进行修改

  ● 从BreakPoint List加速菜单中选择Add BreakPoint项

  断点必须位于可执行代码行上,凡设置在注释、空白行、变量说明上的都是无效的。另外,断点既可以在设计状态下设置也可以在运行调试状态下设置。

  12.4.3.2 断点的操作

  断点列表窗口(BreakPoint List Window)列出了所有断点所在的源文件名、行号、条件以及已通过的次数。如果一个断点非法或失去功能,则在列表窗口中变灰。

  断点列表窗口可以通过选择View|BreakPoint菜单打开。

  断点列表窗口是断点操作的基础。

  1.显示和编辑断点处的代码

  利用断点列表窗口可以快速找到断点在源代码中的位置。

  首先选定断点而后从加速菜单中选择View Source或Edit Source。此时Code Editor更新,显示该断点位置处的代码。如果选择的是View Source,则断点列表窗口仍保持活动;如果选择的是Edit Source,则Code Editor获得输入焦点,可以在断点位置修改源代码。

  2.断点功能的丧失和恢复

  使断点失去功能可以使断点从当前程序运行中隐藏起来。假如你定义了一个断点当前并不需要,但可能在以后使用,则这一功能是很有用的。

  断点列表窗口加速菜单的Disable BreakPoint和Disable All BreakPoints项可以使当前选中断点或所有断点失去功能。

  加速菜单中的Enable BreakPoint和Enable All BreakPoint 可以使相应断点恢复功能。

  3.断点的删除

  断点删除可以从Code Editor或断点列表窗口中进行。

  从Code Editor:

  ● 把光标停到包含断点的行并按F5(或选择加速菜单的Toggle BreakPoint)

  ● 单击包含断点行左边的终止符

  从断点列表窗口:

  ● 选中欲删除的断点并选择加速菜单的Delete BreakPoint项

  ● 删除当前所有断点,则选择加速菜单的Delete All BreakPoints项

  12.4.3.3 修改断点属性

  断点列表窗口双击选定断点或从加速菜单中选择Edit BreakPoint项,可以打开断点编辑对话框,用于显示和修改断点的属性。

  利用断点编辑对话框可以改变断点的位置,设置断点条件。

  断点条件包括两种:布尔表示式和通过次数。

  Condition编辑框用于设置布尔表达式条件。如果表达式值为真(或非零)则程序运行在断点处中止;否则调试器将忽略该断点。

  Pass Count编辑框用于设置通过次数条件,即只有当程序运行在该断点处通过设定次数时程序运行才在该断点处中止。这往往用于对循环体内语句的调试。

  有一点应引起注意的是:当Condition和Pass Count同时设置时,Pass Count是指满足条件的通过次数。

  对如下一段程序:

  var

  i,Re,s: Integer ;

  begin

  s := 1;

  Re := 0;

  for i:=1 to 100 do

  Re:=Re+s*i ;

  end;

  在 Re := Re + s*i; 一行设置一断点。

  若条件设置为:

  Condition : i = 3

  Pass Count: 4

  则当程序中止时检测i 的值为7。

  12.4.3.4 断点和程序执行点颜色的设置

  选择Option|Environment进入环境设置对话框而后选择Editor Colors页标签。此时即可对有关项按自己的希望设置背景和前景色。

  12.4.4 监视数据的值

  内置调试器提供了如下的工具用于监视程序中数据的值:

  ● 监视列表窗口

  ● 计算/修改对话框

  ● 调栈窗口

  12.4.4.1 监视表达式

  监视列表窗口(Watch List Window)显示程序运行中当前监视表达式的值。

  选择View|Watches可以打开监视列表窗口。

  从Code Editor中添加一个监视表达式最方便的方法是:

  1.选中要监视的表达式;

  2.从Code Editor加速菜单中选择Add Watch把表达式添加到监视列表窗口。

  也可以利用下面的方法产生一个监视表达式:

  1.用下列方法之一打开监视属性对话框(Watch Properties Dialog Box):

  ●主菜单中选择Run|Add Watch

  ●在光标处从Code Editor加速菜单中选择Add Watch

  ●按Ctrl-F5

  ●双击监视列表窗口中的一个监视表达式

  ●从监视列表窗口选定一个表达式而后从加速菜单中选择Edit

  2.在监视属性对话框的Expression下拉列表框中输入或选择一个被监视的表达式;

  3.设定表达式的显示格式和使能状态。

  与断点类似,利用加速菜单也可以使监视表达式功能丧失、恢复或删除监视表达式。

  12.4.4.2 计算/修改表达式

  选择Run|Evaluate /Modify可打开计算/修改对话框。当单击Evaluate按钮时,Expression编辑框中表达式的值显示在Result域中。

  Expression中可以输入或选择任何合法的表达式(包括对象的属性),但不包括;

  1.包含有当前执行点不能引用的局部或静态变量的表达式;

  2.函数或过程调用。

  Expression中的表达式可以带特定的格式字符用于规定其显示格式。 格式字符及其功能如下表。

  表12.8 格式字符及其功能

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  格式字符 功 能

  ─────────────────────────────────

  $,H,X 以十六进制格式显示标量

  D 以十进制格式显示标量

  C 把ASCII码在0..31的特殊字等显示为ASCII码图形

  Fn 用n个有效数字显示浮点数

  M 以十六进制方式显示一变量的内存转储值

  P 以段和偏移量格式显示指针。两部分皆为四位十六进制值

  R 显示记录、对象的域名和值(例如 X:5,Y:2)

  S 用ASCII码显示字符串(包括特殊字符)。用于修改内存转储值

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  修改表达式的值常用于验证错误解决方案的正确性。在Expression编辑框中输入或选定欲修改的表达式,单击Evaluate按钮观察表达式的当前值。而后在New Value编辑框中输入或选中一个新值,并单击Modify按钮确认并更新数据项。这种修改只影响特定的程序运行。

  修改表达式的值(特别是指针变量和数组下标)可能会引起无法预计的后果。因而使用中要特别小心。

  相关推荐:2010年9月计算机等级考试试题及答案解析专题
       预告:名师解析2010年9月计算机等级考试试题答案
       2010年9月计算机等级考试成绩查询时间及入口
       2010年9月计算机等考成绩查询短信免费提醒开通
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。