收藏 分享(赏)

第08章 程序调试与创建可执行文件.pptx

上传人:晚风1 文档编号:5655586 上传时间:2022-05-31 格式:PPTX 页数:23 大小:228.47KB
下载 相关 举报
第08章 程序调试与创建可执行文件.pptx_第1页
第1页 / 共23页
第08章 程序调试与创建可执行文件.pptx_第2页
第2页 / 共23页
第08章 程序调试与创建可执行文件.pptx_第3页
第3页 / 共23页
第08章 程序调试与创建可执行文件.pptx_第4页
第4页 / 共23页
第08章 程序调试与创建可执行文件.pptx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 PowerBuilder实用教程叶核亚 王青云第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语

2、句需要以ifend结束等。 编译器一旦发现语法错就停止编译,并在脚本视图底部给出错误信息。 PowerBuilder在保存脚本的同时进行编译,所以,如果脚本中有语法错,则编译不通过,无法保存。 为避免产生语法错误,应严格按照语法定义编写脚本,注意书写细节,在书写属性和函数时,可以利用PowerBuilder的编辑提示功能,选择相应的属性和函数。 2 语义错 若程序在语法上正确,但在语义上存在错误,称为语义错(Semantic Error)。例如,输入数据的格式错,除数为0错,给变量或属性赋予超出其范围的值,试图打开一个不存在的文件,试图访问一个未打开的窗口等。 此时程序能够通过编译,但在运行时

3、会发生错误,所以这类错误又称运行错(RuntimeError)。系统发现运行错时,将停止程序运行,给出错误信息。 语义错的产生视程序运行情况而定,不由程序本身所控制,程序中不能预见错误的发生。如果不希望程序因某个运行错而完全停止,则可以在应用程序对象的SystemError事件中写处理错误的程序。当程序运行过程中产生运行错误时,系统将会触发应用程序对象中的SystemError事件,执行该事件脚本。 3 逻辑错 当程序通过编译,可运行,但运行结果却与期望值不符,这类错误称为逻辑错(LogicError)。例如,由于死循环而没有结果,循环次数不对等因素导致计算结果不正确等。 因为系统无法找到逻辑

4、错,所以逻辑错最难调试。此时,程序员必须凭借自身的程序设计经验,并运用PowerBuilder的调试功能,才能找到错误原因及出错位置,从而改正错误。 8.1.2 画板 PowerBuilder集成开发环境提供了两种运行应用程序的方式:常规方式和调试方式。l常规方式:应用程序响应用户的交互操作并且一直执行直至用户终止它或出现运行错误。这是用户完整运行应用程序的方式。l调试方式:在脚本和函数中插入断点或进行脚本的单步执行,系统每遇到含有断点的行就停止执行,此时可以显示执行过程中变量的取值,以便找出脚本中的逻辑错误。 调试画板(DebugPainter)是在调试方式下运行应用程序的工具。 1. 打开

5、调试画板 2. 视图 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)。如果需要生成可执行文件,必须创建工程对象,才能将调试通过的应用程序编译成可执行文件。工程对象(pro

8、ject)是一种独立的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),其中包含应用程序中所有动态引用的图像文件名。在工程对象画板的ResourceFileName编辑框中指定资源文件的路径,则可执行文件中能够显示这些位图、图标或图像文件。 8.2.2 在客户端部署应用程序 PowerBuilder应用程序是运行在客户端的,用户使用的客户端机器通常不作为程序开发的基地,因而不需要安装PowerBuilder开发环境。或者说,PowerBuilder应用程序通常是运行在没有PowerBuilder环境的客户端的。这时,仅有应

11、用程序的可执行文件和动态库是不够的,还必须要有PowerBuilder虚拟机的支持。PowerBuilder为脱离开发环境运行应用程序准备了一组动态链接库,称为DeploymentKit。这些运行库文件一般在SybaseSharedPowerBuilder目录下,并不是所有运行库文件都是必需的,可以根据应用程序的需要选择所需的运行库文件。 8.2.2 在客户端部署应用程序(续1)如果运行与数据库无关的PowerBuilder应用程序的可执行文件,需要以下3个运行库文件:pbvm90.dll PowerBuilder虚拟机,必需libjcc.dll 必需libjsybheap.dll 必需8.2

12、.2 在客户端部署应用程序(续2)将PowerBuilder数据库应用程序部署到用户机器,使之成为数据库的客户端,需要进行以下操作: 安装数据库的客户端软件。 通过ODBC或专用接口配置数据源,连接数据库。 复制系统运行库中数据源接口文件和数据窗口引擎文件。数据源接口文件既可以是通用的ODBC,也可以是数据库的专用接口。 复制应用程序的可执行文件及动态库文件。 9、静夜四无,荒居旧 。三月-21三月-21Sunday, March 28, 202110、雨中黄叶,灯下白人。14:39:0514:39:0514:393/28/2021 2:39:05 PM11、以我独沈久,愧君相 。三月-211

13、4:39:0514:39Mar-2128-Mar-2112、故人江海,几度隔山川。14:39:0514:39:0514:39Sunday, March 28, 202113、乍翻疑梦,相悲各年。三月-21三月-2114:39:0514:39:05March 28, 202114、他生白,旧国青山。28 三月 20212:39:05 下午14:39:05三月-2115、比不了得就不比,得不到的就不要。三月 212:39 下午三月-2114:39March 28, 202116、行出成果,工作出富。2021/3/28 14:39:0514:39:0528 March 202117、做前,能 四周;

14、做,你只能或者最好沿着以脚起点的射向前。2:39:05 下午2:39 下午14:39:05三月-219、没有失,只有 停止成功!。三月-21三月-21Sunday, March 28, 202110、很多事情努力了未必有果,但是不努力却什么改也没有。14:39:0514:39:0514:393/28/2021 2:39:05 PM11、成功就是日复一日那一点点小小努力的累。三月-2114:39:0514:39Mar-2128-Mar-2112、世成事,不求其 ,留一份不足,可得无限完美。14:39:0514:39:0514:39Sunday, March 28, 202113、不知香寺,数里入

15、云峰。三月-21三月-2114:39:0514:39:05March 28, 202114、意志强的人能把世界放在手中像泥一任意揉捏。28 三月 20212:39:05 下午14:39:05三月-2115、楚塞三湘接, 九派通。三月 212:39 下午三月-2114:39March 28, 202116、少年十五二十,步行得胡 。2021/3/28 14:39:0514:39:0528 March 202117、空山新雨后,天气晚来秋。2:39:05 下午2:39 下午14:39:05三月-219、柳散和,青山澹吾。三月-21三月-21Sunday, March 28, 202110、 一切好

16、如同和去最杰出的人 。14:39:0514:39:0514:393/28/2021 2:39:05 PM11、越是没有本的就越加自命不凡。三月-2114:39:0514:39Mar-2128-Mar-2112、越是无能的人,越喜挑剔人的儿。14:39:0514:39:0514:39Sunday, March 28, 202113、知人者智,自知者明。人者有力,自者强。三月-21三月-2114:39:0514:39:05March 28, 202114、意志强的人能把世界放在手中像泥一任意揉捏。28 三月 20212:39:05 下午14:39:05三月-2115、最具挑性的挑莫于提升自我。三月

17、 212:39 下午三月-2114:39March 28, 202116、余生活要有意,不要越。2021/3/28 14:39:0514:39:0528 March 202117、一个人即使已登上峰,也仍要自强不息。2:39:05 下午2:39 下午14:39:05三月-21MOMODA POWERPOINTLorem ipsum dolor sit, eleifend nulla ac, fringilla purus. Nulla iaculis tempor felis amet, consectetur adipiscing elit. Fusce id urna blanditut cursus. 感谢您的下载观看家告

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 可研报告

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报