教案应用的调试和开发PowerBuilder市公开课获奖课件_第1页
教案应用的调试和开发PowerBuilder市公开课获奖课件_第2页
教案应用的调试和开发PowerBuilder市公开课获奖课件_第3页
教案应用的调试和开发PowerBuilder市公开课获奖课件_第4页
教案应用的调试和开发PowerBuilder市公开课获奖课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第11章 应用调试和发行 相应用程序开发来说,错误再所难免,调试环节必不可少。调试目的是努力发觉并更正错误,使程序能更加好地运营。 11.1 应用程序调试 PowerBuilder提供了两种运营应用程序方式:调试方式(Debug Mode)和常规方式(Regular Mode)。在调试方式中,可在脚本和函数中插入断点或进行代码单步执行,并且能够显示执行过程中变量值,以便找出逻辑错误。在常规方式中,应用程序响应用户交互操作直到用户中断运营或发生错误为止。这也是运营完整应用程序方式。 调试应用程序普通骤下列:1打开调试(Debug)窗口;2在应用程序中设置断点(Breakpoint);3在调试状态

2、下运营应用程序;4当执行到断点处挂起时,查看或改变相关变量值;5如有必要,逐行单步运营代码;6依据需要,在运营过程中增添或修改断点;7当发觉问题时,纠正错误代码。结束放映第一页上一页下一页最后一页第1页第1页11.1.1 打开调试窗口 单击PowerBar工具栏中Debug图标或Select Debug图标,进入Debug窗口,以下图所表示。 结束放映第一页上一页下一页最后一页第2页第2页11.1.1 打开调试窗口下面简介图中图标含义 。 Start图标:开始执行应用。单击该图标按钮可按调试方式执行当前应用。 Start Remote图标:开始执行远程应用。用于调试服务器端代码。 Stop D

3、ebugging图标:停止调试当前应用程序。 Continue图标:继续执行。当程序碰到断点暂停执行时,单击该按钮即可使程序继续执行到下一个断点。 Step In图标:单步跟踪至用户自定义函数内部,以检查函数当初状态。 Step Over图标:单步跟踪并跨越函数。该按钮只把函数当作一条语句来看待,并不跟踪至函数内部。 Step Out图标:从函数内部一次执行完。当已经跟踪到函数内部又不希望继续单步跟踪时,可利用该按钮继续执行直至函数返回。 Run To Cursor图标:执行至指定光标处。可利用该按钮指定位置,始终执行至当前光标所在语句。 Set Next Statement图标:设置下一条要

4、执行语句。该按钮使从用户指定位置执行。 Select Script图标:选择要调试某一对象上某个事件程序或用户自定义函数中程序。结束放映第一页上一页下一页最后一页第3页第3页11.1.1 打开调试窗口Edit Stop图标:编辑断点。能够查看所有断点,设置暂时断点、条件断点,也能够清除断点。 Add Watch图标:向Watch视图中添加变量。 Remove Watch图标:从Watch视图中删除变量。 Close图标:关闭Debug画板。在Debug窗口中包括了几种视图和标签,用来显示程序或调试期间状态信息。它们是: Source视图:显示用户选中事件脚本; Source Browser标签

5、视图:将当前应用程序包括所有对象以树形结构显示; Source History标签视图:在Source视图中已经显示过程序列表; Local标签视图:显示当前执行状态下局部变量值; Global标签视图:显示当前执行状态下全局变量值; Instance标签视图:显示当前执行状态下实例变量值; Parent标签视图:显示当前执行状态下父对象属性值; Shared标签视图:显示当前执行状态下共享变量值; 结束放映第一页上一页下一页最后一页第4页第4页11.1.1 打开调试窗口在Debug窗口中包括了几种视图和标签,用来显示程序或调试期间状态信息。它们是: Object In Memory标签视图:

6、当前内存中对象列表; Call Stack标签视图:执行至断点处被调用函数列表,并给出被调函数所在程序名和行号; Breakpoints标签视图:批示断点激活是否列表; Watch标签视图:在应用执行过程中,已经观测过程序列表; Variable视图:在范围内所有变量列表。 11.1.2 设置断点在Debug窗口中断点分为两种:普通断点和特殊断点。普通断点是为了中断程序正常执行所设置位置;特殊断点则是依据指定条件来决定是否中断程序正常执行,并进入调试状态。1普通断点设置用户可在程序或函数内设置断点。当关闭Debug窗口时,用户设置断点将写入PowerBuilder初始化文献PowerBuild

7、er.ini中,用户再次打开Debug窗口时恢复所设置断点。其设置环节下列: 结束放映第一页上一页下一页最后一页第5页第5页11.1.2 设置断点1普通断点设置(1)在Source视图中显示程序,并把光标置于欲设置断点位置;(2)双击此行或从右击弹出菜单中选择Insert Breakpoint。PowerBuilder设置断点以红色圆点显示在行开头。如所选行不包括可执行代码,PowerBuilder将在最近可执行代码开始处设置断点。2特殊断点设置特殊断点又分为三类:当循环执行指定次数而触发暂时断点;当指定表示式为真时而触发条件断点;当变量值发生改变而触发断点。特殊断点可用Edit Breakp

8、oints对话框来设置。 Edit Breakpoints对话框通过下列四种方式打开。 在Breakpoints视图中,双击欲设置断点行; 在Source、Variables、Watch、Breakpoints视图中,单击鼠标右键,从弹出菜单中选Breakpoints项; 选择菜单栏Edit中Breakpoints项; 单击工具条Edit Stop图标 。 下列页图所表示。当红色圆点为空心时,表示该断点无效;当红色圆点为实心时,表示该断点有效。单击圆点可在两个状态之间转换。 结束放映第一页上一页下一页最后一页第6页第6页11.1.2 设置断点2特殊断点设置结束放映第一页上一页下一页最后一页第7

9、页第7页11.1.2 设置断点 2特殊断点设置 New:设置新断点; Clear:清除光标所在行断点; Clear All:清除所有断点。下列栏目用以设置暂时断点和条件断点: Location:输入断点位置; Occurrence:暂时断点循环次数(Integer型);单选此项可设暂时断点; Condition:条件断点条件表示式;单选此项可设条件断点; Occurrence和Condition:同时选择可设暂时条件断点。 11.1.3 在调试状态下运营应用程序用户设置了断点以后,就能够在调试状态下运营应用程序。当应用程序碰到断点时,就会终止程序运营,等待用户检查。检查完应用后,用户能够单步跟

10、踪直至碰到下一个断点;也能够停止跟踪运营,以便执行新调试或退出Debug窗口。 1开始运营单击工具栏上Start图标,应用程序开始执行,直至碰到第一个断点停止,并用黄色箭头指向下一条将被执行行。此时用户可在窗口各视图中查看应用变量和状态信息。 结束放映第一页上一页下一页最后一页第8页第8页11.1.3 在调试状态下运营应用程序2继续运营单击工具栏上Continue图标,调试程序将从黄色箭头处开始继续运营,直至碰到下一个断点或应用正常结束。3终止运营选择菜单栏Debug中Stop菜单项。4查看变量Variables视图包括Local、Global、Instance、Parent和Shared变量

11、类型标签页,用户能够很以便地在各种变量间进行切换。各变量类型含义下列: Local:当前程序或函数局部变量; Global:所有应用定义全局变量和所有打开对象属性; Instance:当前对象实例变量属性和当前对象定义实例变量值; Parent:当前实例祖先属性; Shared:已打开对象以及与之相关共享变量。在Variables视图中,可改变变量值。但枚举类型变量值不可改变。改变办法是:右击Variables视图中相应变量,从弹出菜单中单击Edit Variables,则显示Modify Variable对话框。 Current Value栏显示了变量原值,用户可在New Value栏输入变

12、量新值,输入完毕单击OK按钮即可。 结束放映第一页上一页下一页最后一页第9页第9页11.1.3 在调试状态下运营应用程序在Variables视图中,也能够查看表示式值,但首先应将表示式添加到Watch视图中。办法是在Watch视图空白处单击鼠标右键,从弹出菜单中选择Insert项,显示New Expression对话框。在Expression栏输入欲查看表示式即可。 5单步跟踪单步跟踪有下列几种方式: 单步跟踪至函数内部(Step In)和单步跟踪并跨越函数(Step Over)用户在跟踪应用时,既能够单步跟踪到函数内部,也能够单步跟踪并跨越函数。假如此程序不包括函数调用,两者效果相同。单击工

13、具栏上Step In图标或选择Debug菜单中Step In菜单项将执行单步跟踪至函数内部。单击工具栏上Step Over图标或选择Debug菜单中Step Over菜单项将执行单步跟踪并跨越函数。 从函数内部一次执行完(Step Out)如已经跟踪到函数内部而又不想继续单步跟踪,可用Step Out继续执行直至函数返回。单击工具栏上Step Out图标或选择Debug菜单中Step Out菜单项将从函数内部一次执行完。结束放映第一页上一页下一页最后一页第10页第10页11.1.3 在调试状态下运营应用程序 执行至指定光标处(Run To Cursor)用户可用这种方式跳过一段不感兴趣程序段或

14、跳至指定断点处。选择下一次欲单步跟踪程序行,单击工具栏上Run To Cursor图标或选择Debug菜单中Run To Cursor菜单项将运营至指定行。 设置下一位置(Set Next Statement)用户可使用Set Next Statement来绕过包括错误代码或用指定变量值来测试部分应用。程序将从用户指定光标处继续执行。选择欲继续执行行,单击工具栏上Set Next Statement图标或选择Debug菜单中Set Next Statement菜单项将运营至指定行。继续执行,可选择Continue、Step In、Step Over之一。 6一次性跟踪使用用户在常规模式下运营程

15、序并发觉错误时,普通做法是中断程序运营,也能够通过使用一次性跟踪(Just-in-time Debug)在不中断应用前提下切换到跟踪模式。 首先进行一次性跟踪设置:从Tool菜单中选择System Options菜单项,显示System Options窗口。从中选中Just-in-time Debugging复选框,单击OK按钮即可。 结束放映第一页上一页下一页最后一页第11页第11页11.1.3 在调试状态下运营应用程序在常规模式下运营应用程序:单击工具栏中Run图标,应用程序开始正常运营。假如发生系统错误,Debug窗口将自动打开,显示错误信息。在Debug窗口Source视图中打开程序并

16、进行调试。11.2 应用程序运营当应用程序调试通过之后,就能够在常规状态下运营了。单击工具栏中Run图标,应用程序开始正常运营。 11.3 生成可执行文献和其它软件同样,用PowerBuilder开发应用程序也需通过编译才干生成可执行应用程序。PowerBuilder提供编译工具能够将应用程序编译成直接在操作系统下运营应用程序。11.3.1 创建工程及编译使用Project中Application Wizard建立工程基本环节下列:1在PowerBar工具栏上单击New图标,选择Project标签页中Application Wizard向导。 结束放映第一页上一页下一页最后一页第12页第12页

17、11.3.1 创建工程及编译2在About the Application Project Wizard对话框中单击Next按钮。3在Specify Destination Library对话框中选择存储工程应用库,单击Next按钮。4在Specify Project Object对话框中命名工程,单击Next按钮。5在Specify Executable and Resource Files对话框中给可执行文献命名,选择资源文献,单击Next按钮。6在Specify Build Options对话框中选择编译类型:Full Build(完全编译)和Incremental Build(只重新编

18、译新增部分)。Prompt for Overwrite选中,表示当覆盖文献时出现提醒,单击Next按钮。7在Generate Machine Code对话框中选择应用程序是否生成机器代码,单击Next按钮。 8在Specify Dynamic Library Options对话框中选择拟定应用程序是否生成动态库,单击Next按钮。9在Specify Version Infoumation对话框中填写版本信息,单击Next按钮。 10在Ready to Create Application对话框中单击Finish按钮。出现新界面,在此界面中还能够对前面设置进行修改。结束放映第一页上一页下一页最后

19、一页第13页第13页11.3.1 创建工程及编译11单击project画板上Deploy图标即可进行编译应用程序,生成EXE文献。11.3.2 应用系统 用PowerBuilder开发可执行应用系统普通包括下列三个部分:可执行文献(即EXE文献)、动态库文献(PowerBuilderD或DLL文献)、外部资源文献(如位图、图标等)。1EXE文献对任何PowerBuilder应用来说,都至少需要一个编译好EXE文献。这个文献包括了最基本、能使应用系统在各种操作系统下执行程序代码,用户能够通过双击EXE文献图标来执行应用程序。2PowerBuilderD文献或DLL文献为确保EXE文献能在普通机器

20、上运营,应使EXE文献小于1.2MB。假如有也许超出1.2MB,编译时可利用PowerBuilder动态库技术,把应用分为几部分,使应用中对象分别存储在多个库文献中。程序会在动态库中搜索并动态调用这些库中对象。动态库含有可使应用模块化、易维护、可重用好、灵活高效长处。因此,在组织应用系统时,应当充足利用动态库技术,把在整个应用中利用率较低对象,或也许被其它应用调用组件作为动态对象放在动态库中,在可执行文献中只放少许、使用频率最高对象。结束放映第一页上一页下一页最后一页第14页第14页11.3.2 应用系统3资源除了如窗口、菜单等PowerBuilder对象之外,应用在执行时还也许用到其它资源,

21、如位图和图标等。这些被引用资源同PowerBuilder对象同样,也应当作为可执行应用一部分编译。资源发行办法有两种:第一,与可执行文献一起发行。只要将资源与应用一起发行,并确保安装在可搜索路径中,程序执行时会搜索这些资源。第二,利用资源文献(PowerBuilderR文献)。资源文献是应用中所需资源清单,在资源文献中列出了这些资源所在路径及文献名。PowerBuilder建立可执行文献或动态库时可依据资源文献中列出资源,将它们连入可执行文献或动态库中。这种办法适合建立一些大型应用。11.4 应用程序发行发行PowerBuilder应用程序时,只在用户机器上安装应用程序可执行文献(包括生成应用程序时生成动态库)是远远不够。为确保正常运营,还应向用户发行PowerBuilder运营时所需动态链接库,安装数据库接口,配备ODBC数据源,安装网络驱动程序,以及必要时修改操作系统配备等。 结束放映第一页上一页下一页最后一页第15页第15页11.4.1 PowerBuilder运营时库PowerBuilder开发环境中包含一组脱离开发环境运行PowerBuilder应用程序所需运行时库,称做PowerBuilder Dev

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论