pb8.0技术(5)

2020-04-16 10:33

Executing instruction at line 3

Executing object function +CREATE for class MESSAGE, lib entry _TYPEDEF

End object function +CREATE for class MESSAGE, lib entry _TYPEDEF

Executing instruction at line 4

Executing object function +CREATE for class TRANSACTION, lib entry _TYPEDEF

End object function +CREATE for class TRANSACTION, lib entry _TYPEDEF

Executing instruction at line 5

Executing object function +CREATE for class DYNAMICDESCRIPTIONAREA, lib entry _TYPEDEF

End object function +CREATE for class DYNAMICDESCRIPTIONAREA, lib entry _TYPEDEF

Executing instruction at line 6

Executing object function +CREATE for class DYNAMICSTAGINGAREA, lib entry _TYPEDEF

End object function +CREATE for class DYNAMICSTAGINGAREA, lib entry _TYPEDEF

Executing instruction at line 7

Executing object function +CREATE for class ERROR, lib entry _TYPEDEF

End object function +CREATE for class ERROR, lib entry _TYPEDEF

End class function +CREATE for class LS, lib entry LS

Executing event +OPEN for class LS, lib entry LS

Executing instruction at line 4

Executing class function PROFILESTRING for class SYSTEMFUNCTIONS, lib entry _TYPEDEF

Executing system dll function

End class function PROFILESTRING for class SYSTEMFUNCTIONS, lib entry _TYPEDEF

… …

执行应用程序之后阅读跟踪日志(DBG文件),也可以了解程序的执行过程。

建立跟踪日志(DBG文件)的方法如下:

1. 单击PowerPanel中的系统选项画笔(System Option) 。

2. 从弹出的对话框中选取General页面,如下图所示:

上图中的各跟踪选项的作用如下表所示:

选项 Initialization path Prompt on Exit Just In Time Debugging Enable PBDebug 描述 PowerBuilder软件所在的路径。 选中该复选框,则在退出PowerBuilder时弹出一个消息框提示。 选中该复选框,则在发生系统错误时自动打开调试画笔。 选中该复选框,则在应用程序执行时将各项活动顺序记入日志(DBG文件)中。 Tracing PBDebug Output Path 指定日志(DBG文件)所在的位置以及文件名。 3. 选中“Enable PBDebug Tracing”选项。

4. 在“PBDebug Output Path”中指定日志(DBG文件)所在的位置以及文件名。

5. 单击OK按钮保存设置。

6. 关闭并重新启动PowerBuilder,执行应用程序,则会自动建立并记录日志(DBG文件)。

由于DBG文件是一种文本格式的文件,因此,可以用任何一种文本编辑器(例如Microsoft Word)打开进行阅读。

选中“Enable PBDebug Tracing”选项后,每次运行应用程序时,PowerBuilder会将跟踪的日志信息不断地填加到DBG文件中,因此,DBG文件会不断地增大,需要保证磁盘具有足够的空间。这一点与跟踪文件(PBP文件)不同,如果已经建立了跟踪文件,则再次执行应用程序并生成跟踪文件时,将覆盖原来的跟踪文件。

阅读日志(DBG文件)可以发现在日志(DBG文件)中并不记录每一个函数、程序的执行所需时间,因此,日志(DBG文件)不能代替跟踪文件(PBP文件)进行性能分析。另外,记录日志需要花费一定的时间,减慢应用程序的执行速度,因此,如果不需要日志,应当关闭“Enable PBDebug Tracing”选项。

跟踪的使用概述

本篇文章来源与时代朝阳数据库(原晓通数据库)培训部PowerBuilder资料库。

在程序员编制了应用程序并进行测试排错后,仍会发现程序在许多方面不能尽如人意,例如某些模块运行效率低下,解决这些问题的关键就是找到产生性能问题的根源。

PowerBuilder 7.0提供了一种跟踪机制,这种机制可以跟踪应用程序的执行过程,详细记录程序执行的每一个细节,程序员可以通过对跟踪结果进行分析,了解每个函数、事件的调用次序与调用频率、对象的建立与撤消、内存中垃圾的收集,每一活动的运行时间等,从中找出应用程序中的逻辑错误以及影响性能的程序段,从而改进程序的设计,提高应用系统的运行性能。

虽然跟踪(Trace)和调试(Debug)都可以反映应用程序的执行过程和函数的调用关系,但二者有很大的区别。首先,跟踪机制所反映的程序执行过程更为详尽,它能够反映对象的建立与撤消、内存中垃圾的收集等过程,使程序员详细了解程序的执行过程;其次,跟踪机制能够反映每一步执行的实际时间,便于程序员分析并找出影响程序性能的关键。因此程序员往往借助调试查找应用程序中的逻辑错误,借助跟踪找出影响应用程序运行的性能瓶颈。

使用PowerBuilder 7.0跟踪机制的基本过程是:

1. 建立PowerBuilder应用的跟踪文件。一旦允许对PowerBuilder应用进行跟踪,应用程序的执行过程就被自动记录到PowerBuilder的跟踪文件中,这一跟踪文件中记录的信息为将来对应用进行分析提供了基础数据。

2. 建立跟踪模型。通常并不对跟踪文件中的信息直接进行分析,而是先建立一些特殊的跟踪分析模型,然后再从这些跟踪模型中取出所需要的信息。常用的跟踪模型有两种:Call Graph模型和Trace Tree模型。

3. 建立视图,获取信息。视图是指对跟踪文件的视图,跟踪文件中的程序运行信息只有被翻译成视图后方可阅读。建立了跟踪模型之后,就可以从模型中获取所需要的程序执行信息,形成视图。程序员可以通过对视图进行分析,找出执行过于频繁或不必要执行的程序,改善应用程序的执行性能。

二种跟踪模型

本篇文章来源与时代朝阳数据库(原晓通数据库)培训部PowerBuilder资料库。 设置了跟踪功能之后,应用程序执行过程的各种信息,如对象的建立与撤消、函数与事件的调用与执行、程序的执行时间、内存中垃圾的收集情况等都被记录到跟踪文件中。因此,跟踪文件为分析应用程序的性能提供了基础的数据,但直接访问这些数据比较困难,较为简便的方法是先建立跟踪模型,然后再从跟踪模型中提取数据。

所谓模型,实际是观察跟踪文件中记录信息的一种特殊“视图”,不同的模型使用不同的方法组织跟踪文件中的跟踪信息和各项数据,从跟踪模型中提取的信息和数据具有良好的结构,便于阅读和分析。

在PowerBuilder中提供了两种类型的标准跟踪模型:

? ?

Call Graph模型 Trace Tree模型

1 Call Graph模型

Call Graph模型包含了跟踪文件中所有程序(事件及函数)的执行信息,其主要内容包括:

? ? ?

每段程序被调用的次数;

每段程序被另外的哪段程序所调用,以及该程序所调用的子程序,即程序间的调用关系; 程序的执行时间。

利用Call Graph模型中的信息可以监视程序的调用关系以及执行情况,然后,程序员就可以利用所获得的信息检查应用程序的执行性能,并考虑改善性能的方案。

2 Trace Tree模型

Trace Tree模型将应用程序执行过程中所调用的各个子程序按照时间顺序进行排列,并根据程序间的调用关系组织成树形结构,其主要内容包括:

? ?

程序的执行顺序 每个程序的执行时间

利用Trace Tree模型中的信息可以对应用程序的执行过程进行确认,程序员可以根据这些信息判断程序是否按照预期的顺序执行以及是否执行了多余的过程,从而找出影响程序执行的逻辑问题和性能问题。

跟踪模型对跟踪文件中的信息进行了结构化的处理,使这些信息便于阅读和分析,提高了跟踪文件中这些信息的价值,为进行应用程序的性能分析奠定了良好的基础。


pb8.0技术(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国电信翼支付客户使用手册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: