用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

PowerBuilder高级调试技术与技巧

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:55:16
【本文由PB创新网为您整理】

摘要  介绍PowerBuilder编程工具的高级调试技术,包括临时断点和条件断点设置、变量值改变断点设置、Just-in-time调试、中间层Jaguar CTS组件的远程调试等关键技术


关键词 断点;本地调试;远程调试;Jaguar组件


1  引言
PowerBuilder是数据库前端应用开发的主流编程工具,随着从Client/Server的两层开发模式到三层甚至多层开发模式的过渡,PowerBuilder不断增加新的功能以适应和推进这种转变。PowerBuilder 7的版本已经可以通过开发Jaguar中间层组件创建典型的分布式应用。这就给PowerBuilder的调试技术提出新的要求。
     调试技术在任何软件开发中都站有及其重要的位置。利用PowerBuilder开发也不例外。PowerBuilder工具集成了强大的调试画板,使得调试变得容易,但其中的一些高级的调试技巧和技术并不是很容易掌握,而掌握和使用这些调试的高级技巧和技术是开发高质量软件产品的重要保证,也是优秀的PowerBuilder开发者必须具备的能力。
     PowerBuilder提供的高级调试技术主要包括:设置临时和条件断点、设置变量值改变断点、Just-in-time调试、Jaguar组件远程调试术(Remote Debug)。前三种调试技巧适合于本地调试;最后一种是分布式应用中的调试技巧,可以在客户端对部署在应用服务端Jaguar CTS(Component Transaction Server组件事务服务器简称)的组件进行调试,包括调试陷入到事件或者方法的脚本,观察和更改组件变量等。
远程调试技术以本地调试为基础,是PowerBuilder做分布式开发的关键性技术,尽管与本地调试类同,但却又有其独特和复杂的一面,是做好PowerBuilder中间层组件开发的重要技术。当然,熟悉本地调试的各种技术细节,才能更好得进行远程调试。
对于基本的调试技术(比如设置断点、单步执行、屏蔽和清楚断点、监视变量等)不再累述。
PowerBuilder7的调试画板简介
调试画板集成了PowerBuilder强大的调试功能,包括以下主要的部分:
1)Breakpoints View:展示所有要调试的对象、事件、代码行信息、通过它很容易定位到需要调试的代码或者进行断点使能和屏蔽等操作。
2)Callstacks View:展示调试的断点在程序中调用的层次,返回时会按照这个压栈顺序返回。提供了程序执行的宏观线索。
3)Instances:展示实例化的远程组件状态等信息。只适用于远程调试。
4)Objects In Memory:展示加载到内存的对象列表。通过它可以观察对象在内存里的占用情况(不适用于远程调试)。
5)Source View:展示代码。
6)Source Browser:展示应用中所有的对象列表。
7)Source History:展示在Source View中曾经出现过的代码列表。
8)Variables View::展示所有类型的变量。可以在调试画板中人为修改变量值,或者设置在某个变量的值发生改变时中断程序而触发调试。
9)Watch View:展示选择出来的变量值,进行表达式的运算等。
3      本地调试
3.1设置临时和条件断点
对于一般的断点,可在Source View中很容易得设置。如果断点处在循环体中,可能不期望每次循环都跳到调试画板,这时候需要设置临时和条件断点。断点在多少次循环后被触发,属于临时触发;断点在满足某种表达式条件后被触发,属于条件触发;在相同的断点位置可以同时存在临时和条件两种触发机制。
打开对应的断点编辑弹出窗口(在Breakpoint View和Source View中都能打开),在Occurrence栏目填入一个整数,代表每循环多少次才触发这个断点;在Condition栏目填入一个表达式,比如ll_i = 10,这样,在这个循环中,每次在变量ll_i = 10这个条件满足时才触发断点。
可同时设置临时和条件触发,这种情况下必须两者都满足才触发断点。
当然条件触发也可以用于不属于循环性质的代码段里面。
3.2设置变量值改变断点
如果调试特别关心某个变量,关心这个变量的值在哪里改变了(比如由false变成true,由0变成非0等),这时可以设置变量值改变触发断点。方法是在Variables中选择要调试的变量,右键弹出菜单,选择Break on Change,这样,每次这个变量的值发生改变,就会触发断点,能够方便观察哪些代码对这个变量进行了赋值操作,有利于对这个变量的变化轨迹进行跟踪。
3.3Just-in-time调试
当按正常模式而不是调试模式运行应用的时候,如果程序运行不正常,甚至报错,可能需要退出程序,重新打开调试画板,调试这个异常或者错误,比较麻烦;选择just-in-time模式,就能在遇到需要调试的时候,即时切换到调试模式。
选择菜单Windows>System Options…在弹出窗口中选中Just In Time Debugging。在按正常模式运行程序时,只要切换到PowerBuilder窗口,就提示是否中断和调试程序,选择调试,会进入调试模式;如果出现系统错误,调试画板会自动弹出,让开发者进行调试,而不必特意选择调试模式。
4  远程调试
4.1远程调试的条件和准备
讨论了本地调试的一些技术和技巧后,转入远程调试方面。在远程调试中可以充分利用以上技术技巧。
要进行远程调试首先要满足几个条件:被调试的组件是PowerBuilder部署的nvo(非可视化)类型,Remote Debug(远程调试)选项是打开的;前者说明这种调试只局限于P

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:10,281.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号