版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、叶核亚 王青云第08章 程序调试与创建可执行文件 8.1 程序调试技术 8.2 创建并运转可执行文件 8.1 程序调试技术 8.1.1 发现错误 8.1.2 调试画板 8.1.3 调试过程 8.1.1 发现错误 当程序不能正常运转或者运转结果不正确时,阐明程序中有错误。按错误的性质可将程序错误分成3类:语法错、语义错、逻辑错。 1. 语法错 2. 语义错 3. 逻辑错 1 语法错 违反语法规范的错误称为语法错Syntax Error,这类错误通常在编译时发现,又称编译错。例如,标识符未声明,表达式中运算符与运算分量类型不兼容,变量赋值时的类型与声明时的类型不匹配,if语句需求以if end终了
2、等。 编译器一旦发现语法错就停顿编译,并在脚本视图底部给出错误信息。 PowerBuilder在保管脚本的同时进展编译,所以,假设脚本中有语法错,那么编译不经过,无法保管。 为防止产生语法错误,应严厉按照语法定义编写脚本,留意书写细节,在书写属性和函数时,可以利用PowerBuilder的编辑提示功能,选择相应的属性和函数。 2 语义错 假设程序在语法上正确,但在语义上存在错误,称为语义错Semantic Error。例如,输入数据的格式错,除数为0错,给变量或属性赋予超出其范围的值,试图翻开一个不存在的文件,试图访问一个未翻开的窗口等。 此时程序可以经过编译,但在运转时会发生错误,所以这类错
3、误又称运转错Runtime Error。系统发现运转错时,将停顿程序运转,给出错误信息。 语义错的产生视程序运转情况而定,不由程序本身所控制,程序中不能预见错误的发生。假设不希望程序因某个运转错而完全停顿,那么可以在运用程序对象的SystemError事件中写处置错误的程序。当程序运转过程中产生运转错误时,系统将会触发运用程序对象中的SystemError事件,执行该事件脚本。 3 逻辑错 当程序经过编译,可运转,但运转结果却与期望值不符,这类错误称为逻辑错Logic Error。例如,由于死循环而没有结果,循环次数不对等要素导致计算结果不正确等。 由于系统无法找到逻辑错,所以逻辑错最难调试。
4、此时,程序员必需凭仗本身的程序设计阅历,并运用PowerBuilder的调试功能,才干找到错误缘由及出错位置,从而矫正错误。 8.1.2 调试画板 PowerBuilder集成开发环境提供了两种运转运用程序的方式:常规方式和调试方式。l常规方式:运用程序响运用户的交互操作并且不断执行直至用户终止它或出现运转错误。这是用户完好运转运用程序的方式。l 调试方式:在脚本和函数中插入断点或进展脚本的单步执行,系统每遇到含有断点的行就停顿执行,此时可以显示执行过程中变量的取值,以便找出脚本中的逻辑错误。 调试画板Debug Painter是在调试方式下运转运用程序的工具。 1. 翻开调试画板 2. 视图
5、 3. 工具栏 1. 翻开调试画板 单击PowerBar上的【Debug】按钮,翻开调试画板,调试画板由一个工具栏和假设干视图组成,如以下图所示。 2 视图 调试画板包含的视图见下表。 3 工具栏 翻开调试画板后,主菜单添加了Debug菜单。Debug菜单下的菜单项与调试画板工具栏上的按钮一致。调试画板工具栏上按钮阐明如以下图所示。8.1.3 调试过程1 选择需求调试的脚本 在开场调试之前,首先需求选择跟踪调试哪一段脚本。在对象阅读视图中,选择需求调试的脚本,选中脚本将显示在源代码视图中。2 设置/去除断点 在常规方式下的脚本视图中,或在调试画板的源代码视图中,都可以设置断点。设置断点方法是,
6、将光标停在脚本中的某行上,执行弹出式菜单Insert Breakpoint,之后在当前行之前有一个圆点,表示该行已被设置为运转时的断点。在断点行上执行弹出式菜单Clear Breakpoint,那么可去除已设置的断点。8.1.3 调试过程续3 跟踪运转 一旦设置好断点,就能在调试方式下运转运用程序。运用程序将会正常运转直至遇到含有断点的行才挂起。4 查看变量值的变化情况 调试程序时,系统将脚本中声明的全局、部分等变量的中间结果分别显示在不同的视图上。用户还可根据需求,将变量添加到Watch窗口以查看变量的动态变化情况。 8.2 创建并运转可执行文件 运用程序经过设计、开发、调试和试运转,排除了
7、明显的与潜在的错误并到达预期功能后,要把运用程序编译成可执行文件,这样用户就可以在没有安装PowerBuilder环境的计算机上,像运转其他软件那样运转运用程序了。 在用户机器上运转PowerBuilder数据库运用程序,需求将用户机器设置为数据库的客户端,并且要有PowerBuilder虚拟机的支持,即还要携带系统的运转库文件 8.2.1 工程对象 8.2.2 在客户端部署运用程序 8.2.1 工程对象 在集成开发环境中,可以运转运用程序,但系统并没有生成可执行文件.exe。假设需求生成可执行文件,必需创建工程对象,才干将调试经过的运用程序编译成可执行文件。 工程对象project是一种独立
8、的PowerBuilder对象,用于将运用程序编译成一个可执行文件.exe和多个PowerBuilder动态库.pbd。8.2.1 工程对象续 1 创建工程对象 2 指定生成动态库 3 为动态库指定包含的附加资源 1.创建工程对象 执行File | New菜单,在New对话框的Project页上选择Application图标,那么创建了一个工程对象。在工程画板中,需求为工程对象指定以下编译特性:l指定生成的可执行文件名。l指定哪些库需求生成动态库PBD或DLL。l 指定资源文件,资源文件中声明运用程序中包含的附加资源,例如图像文件等。 2 指定生成动态库 运用程序中在对象之间建立联络有两种方式
9、:静态援用和动态援用。 PowerBuilder只将一切静态援用的对象编译到可执行文件中,而没有将动态援用的对象编译到可执行文件中。所以运转时看不到动态援用的对象。 为了使可执行文件在运转时可以显示动态援用的对象,必需将库文件.pbl编译生成动态库.pbd。动态库中包含了运用程序中一切动态援用的对象,这些对象能被可执行文件调用。运用程序可以包含多个库文件,每一个库文件编译生成一个动态库文件。 在工程对象画板中,选中库文件右边的PBD复选框,那么声明该库文件需求编译生成动态库,并指明了库文件的途径。 3 为动态库指定包含的附加资源 对于动态援用的图像文件,它们属于运用程序运用的附加资源,没有包含
10、在库文件中。因此,在生成的动态库中,也不会包含这些动态指定的图像。这时,需求制造一个文本格式的资源文件.pbr,其中包含运用程序中一切动态援用的图像文件名。在工程对象画板的Resource File Name编辑框中指定资源文件的途径,那么可执行文件中可以显示这些位图、图标或图像文件。 8.2.2 在客户端部署运用程序 PowerBuilder运用程序是运转在客户端的,用户运用的客户端机器通常不作为程序开发的基地,因此不需求安装PowerBuilder开发环境。或者说,PowerBuilder运用程序通常是运转在没有PowerBuilder环境的客户端的。这时,仅有运用程序的可执行文件和动态库是不够的,还必需求有PowerBuilder虚拟机的支持。 PowerBuilder为脱分开发环境运转运用程序预备了一组动态链接库,称为Deployment Kit。这些运转库文件普通在SybaseSharedPowerBuilder目录下,并不是一切运转库文件都是必需的,可以根据运用程序的需求选择所需的运转库文件。 8.2.2 在客户端部署运用程序续1 假设运转与数据库无关的PowerBuilder运用程序的可执行文件,需求以下3个运转库文件:pbvm90.dll PowerBuilder虚拟机,必需libjcc.dll 必需libjsybheap.dll 必需 8.2.2 在客户端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园区电梯井道安装项目合同
- 建材厂建设土石方施工协议
- 智慧城市项目延期还款协议
- 海洋工程投标质量保证承诺书
- 教育培训顾问服务合同
- 环卫推广瓦工施工合同范本
- 买卖超市车位协议范本
- 展览展示招投标文件移交
- 环保改造以此合同为准
- 矿山开采总价包干承诺书
- 4S店展厅改造装修合同
- 送货简易合同范本(2篇)
- 全国职业院校技能大赛赛项规程(高职)智能财税
- 七年级上册音乐教案 人音版
- 某小区住宅楼工程施工组织设计方案
- 3-4单元测试-2024-2025学年统编版语文六年级上册
- 北师版数学八年级上册 5.8三元一次方程组课件
- 2025届湖北省武汉市新洲一中阳逻校区高二上数学期末学业水平测试模拟试题含解析
- 眼镜验光员(高级)技能鉴定考试题及答案
- 企业单位消防安全规范化管理指导手册
- 小学高年级课后服务 scratch3.0编程教学设计 二阶课程 项目4趣味潜水艇 第4节 躲避障碍教学设计
评论
0/150
提交评论