09.第九章 - PB程序设计

Download Report

Transcript 09.第九章 - PB程序设计

第九章 调试发布应用程序
9.1
9.2
9.3
实训九
使用调试器
创建可执行文件
发布应用程序
创建可执行文件
开始放映
9.1 使用调试器
9.1.1 调试器工作界面
9.1.2 使用断点
9.1.3 调试过程
下页
上页
返回首页
9.1.1 调试器工作界面
启动调试器的方法为:
单击PowerBar工具栏“Debug”图标
试画笔界面。
下页
,系统进入调
上页
返回首页
1.画笔工具栏
调试画笔由画笔工具栏和工作区组成。
2.工作区的划分
(1)源代码区(Source):显示指定对象的函数或事件处理程
序的源代码。
(2)对象浏览标签(Source Browser):显示应用程序中使用的
各种对象。
(3)对象历史标签(Source History):显示以前曾经在源代码
区显示过源代码的事件或函数名。双击某个名称时,相应
的源代码显示在源代码区中。
(4)内存中对象标签(Object in Memory):显示当前执行状态
下已经加载到内存中的对象以及对象属性的取值。
(5)局部变量标签(Local) :显示当前执行状态下局部变量的
取值。
下页
上页
返回首页
(6)实例变量标签(Instance):显示当前执行状态下实例变
量的取值。
(7)全局变量标签(Global):显示当前执行状态下全局变量
的取值。
(8)共享变量标签(Shared):显示当前执行状态下共享变量
的取值。
(9)父对象标签(Parent):显示当前执行状态下父对象属性
的取值。
(10)调用栈标签(Call Stack):显示执行到当前断点时的函
数调用序列,并在行尾给出当前断点所在行的行号。
(11)断点标签(Breakpoints):显示应用程序中当前已经设
置的所有断点。
(12)观察变量标签(Watch):显示需要经常查看其取值的
变量。
下页
上页
返回首页
3.调整工作区
如果希望以其他方式查看程序的运行信
息,那么可以按需要调整各工作区以及
标签的位置。
下页
上页
返回首页
9.1.2 使用断点
1.选择代码
在开始调试之前,首先要选择想跟踪调试哪一段代码,
选中的代码将显示在源代码区中。
2.设置断点
设置断点的操作方法为:
在源代码区中找到要设置断点的行,双击该行(或指向该
行,单击右键,打开快捷菜单,选择“Insert Breakpoint”
命令),当前行前面就出现一个断点标志。
下页
上页
返回首页
下页
上页
返回首页
3.清除断点
去掉断点的操作方法为:
在源代码区中找到该断点,双击该行
(或指向该行,单击右键,打开快捷菜
单,选择“Clear Breakpoint”命令)。
下页
上页
返回首页
4.编辑断点
编辑断点的操作方法为:
(1)选择“Edit”→“Breakpoint”
命令(或指向源代码区,
单击右键,选择
“Breakpoint”命令),打
开“Edit Breakpoints”对话
框。
下页
上页
返回首页
(2)单击“Location”选项卡,显示当前应用程序中设置的
所有断点,并可以增加断点、删除断点、清除所有断
点。在选项卡的底部显示并可以设置断点的扩展属性,
包括断点位置、执行几次后进入中断模式和设置条件
断点等。
①“Location”输入框显示断点位置,语法格式为:
<事件名>|<函数名>.<行号>。
②“Occurrence”输入编辑框指示调试时断点行所在语句
在第几次执行时进入中断模式。
③ “Condition”输入框中可以输入一个其值为TRUE或
FALSE的逻辑表达式,调试模式中,程序执行到该行
后就会计算该逻辑表达式的值,当其值为TRUE时,进
入中断模式。
下页
上页
返回首页
(3)单击“Variable”选项卡,可以设置一个或多个变量,
当其中某个变量的取值发生变化时,让PowerBuilder
9.0进入中断模式,这种方式称为变量断点。当需要
观察某个变量的值何时发生变化时,这个选项卡就
十分有用了。
(4)如果要删除某个变量断点,可以在该对话框上部的
断点列表中选择欲删除的断点,然后单击“Clear”按
钮。要删除所有变量断点,可以单击“Clear All”按
钮。
(5)单击“Variable”选项卡,可以设置一个或多个变量,
当其中某个变量的取值发生变化时,让PowerBuilder
9.0进入中断模式,这种方式称为变量断点。
下页
上页
返回首页
9.1.3 调试过程
设置了断点后,单击调试画笔工具栏上的“Start”
图标,应用程序将以调试模式运行。当执行到第
一个断点后,PowerBuilder 9.0进入中断模式。此
时,既可以让程序运行到下一个断点,也可以逐
行跟踪。
1.运行到下一个断点
让程序直接运行到下一个断点的操作方法为:
单击工具栏“Continue”图标。
下页
上页
返回首页
2.单步执行
单步执行可以逐行查看应用程序的运行结果。
PowerBuilder 9.0的调试器提供了三种单步执行
方式:
单步进入(Step In)、单步执行(Step Over)、
单步跳出(Step Out)。
下页
上页
返回首页
3.执行到光标处
执行到光标处的操作方法为:
(1)将光标定位在欲查看执行情况的语句上。
(2)单击工具栏“Run To Cursor”图标。
(3)程序运行到光标所在行后,进入中断模式。
此时可以查看变量、属性取值,也可以使用单
步跟踪方式逐条执行语句。
下页
上页
返回首页
4.设置下一条执行语句
设置下一条执行语句的操作方法为:
(1)在源代码区中,将光标(一条闪烁的竖线)
移动到下一条要执行的语句上。
(2)单击工具栏“Set Next Statement”图标。
下页
上页
返回首页
5.增加与删除观察变量
向观察变量区增加变量或属性的操作方法为:
(1)在变量区找到希望查看其取值的变量。
(2)将该变量从变量区拖动至观察变量区。
在观察变量区中观察表达式的取值的操作方法为:
(1)指向观察变量区,单击右键,选择“Insert”命令。
(2)在“Expression”输入框中输入表达式,该表达式
可以是任何有效的PowerBuilder 9.0表达式。
对增加到观察变量区中的变量,随时可以将其从观
察变量区中删除。
删除观察变量区中的变量的操作方法为:
指向要删除的变量,单击右键,打开快捷菜单,
选择“Clear”命令。
下页
上页
返回首页
6.修改变量取值
改变变量取值的操作方法为:
(1)在变量区或观察变量区双击要修改值的变量,打开
“Modify Variable”对话框。
(2)在“New Value”输入框中输入新值。如果要设置为空
值(NULL)时,可以选中复选框“NULL”。
(3)单击“OK”按钮,完成新值设定。
下页
上页
返回首页
7.停止调试
在中断模式下,单击工具栏“Close”图标,
将关闭调试器,返回到PowerBuilder 9.0
设计模式。
下页
上页
返回首页
9.2 创建可执行文件
9.2.1 创建可执行文件的步骤
9.2.2 创建可执行文件的问题
下页
上页
返回首页
9.2.1 创建可执行文件的步骤
1.创建新工程
(1)单击PowerBar工具栏“New”图标,打开“New”对话框,
单击“Project”选项卡。
下页
上页
返回首页
(2)该选项卡提供了多个选项,用于创建不同类型的工程。其
中“Application”选项和“Application Wizard”选项用于创
建可执行文件。
(3)选中“Application”,
单击“OK”按钮,
打开“Project”对话
框。
下页
上页
返回首页
2.设置编译选项
(1)“Executable File Name”输入框用于指定编译后的
可执行文件的存放路径及名称。
(2) “Resource File Name”输入框用于指定可执行文件
和动态库使用的资源文件名。
(3) “Project Build Options”框用于设置建立工程的方
式。
(4) “Code Generation Options”框用于设置代码生成选
项。
(5)工作区下部“Library”区域列出了应用程序中使用
的应用库。
下页
上页
返回首页
3.生成可执行程序
单击工具栏“Deploy”图标,打开“Build Library”对话
框,将根据工程设置生成对象。
下页
上页
返回首页
9.2.2 创建可执行文件的问题
PowerBuilder 9.0允许以三种方式创建可执行文件:
第一,创建一个包含应用程序所有部件的单一的、
用户可直接运行的可执行文件;
第二,创建包含一个规模较小的可执行文件和一个
或几个称之为PowerBuilder 9.0动态库(PBD)的文
件;
第三,创建16位或32位机器代码可执行文件,并带
有一个或几个动态链接库(DLL)。
下页
上页
返回首页
1.可执行文件
伪代码格式:伪代码是PowerBuilder 9.0编译对象时生成的一
种中间代码。
机器代码格式:机器代码格式是PowerBuilder 9.0生成真正的
二进制文件。
2.资源文件
资源文件由需要编译到可执行文件或动态库中的每个对象名
称组成。
3.动态库
PowerBuilder 9.0的动态库(包括PBD和DLL)中包含了相应
PowerBuilder 9.0库文件中所有编译好的代码。
单 独 创 建 动 态 库 : Library→ 指 向 应 用 库 → 右 键 → Build
Runtime Library。
下页
上页
返回首页
4.资源的交付方式
当应用程序中使用资源后,在交付应用程序时
必须与应用程序一起交付这些资源。
包括:
将资源包含在可执行文件中
将资源包含在动态库中
作为独立文件交付资源
下页
上页
返回首页
9.3 发布应用程序
9.3.1 PowerBuilder 9.0运行时库
9.3.2 安装数据库接口
9.3.3 实例:学生选课系统版本20
下页
上页
返回首页
9.3.1 PowerBuilder 9.0运行时库
PowerBuilder 9.0开发环境中包括了一组脱离开
发环境运行PowerBuilder 9.0应用程序所需的运
行时库,这是一组动态链接库(DLL)。发行
应用程序时,必须同时向用户提供这组运行时
库,并安装在合适的路径下,通常放置在应用
程序所在的目录下或系统的搜索路径下。
下页
上页
返回首页
运行时库文件及需要这些文件的对象和功能
运行时库文件
对应的对象和功能
PBVM80.DLL
所有
LIBJCC.DLL
所有
PBDWE80.DLL
数据窗口和数据存储
PBRTC80.DLL
多格式文本框(Rich Text)
PBFNT80.INI
映射不可用字体
PBLAB80.INI 标签数据窗口展示风格的预定义格式
PBTRA80.DLL
跟踪数据库连接
下页
上页
返回首页
9.3.2 安装数据库接口
当应用程序需要访问数据库时,在为用户安装
应用程序的同时还必须为其安装好数据库接口
文件。
安装数据库接口文件包括两方面的内容:
第一,安装PowerBuilder 9.0提供的专用接口或
ODBC驱动程序(根据应用程序要访问的数据
库而定);
第二,安装数据库厂商提供的数据库驱动程序
(不同厂商驱动程序不同)。
下页
上页
返回首页
访问大型数据库所需的PowerBuilder 9.0专用接口文件
(应该安装在应用程序所在的目录或系统目录下)
数据库管理系统
INFORMIX I-Net 7
INFORMIX I-Net 9
Microsoft SQL Server 6 and 7
Oracle 7.3
接口文件
PBIN780.DLL
PBIN980.DLL
PBMSS80.DLL
PBO7380.DLL
Oracle 9.0.x and Oracle 8.1.x
Sybase DirectConnect
PBO8480.DLL
PBDIR80.DLL
Sybase Adaptive Server Enterprise CT-LIB
Sybase Adaptive Server Enterprise CT-LIB
for EAServer
PBSYC80.DLL
PBSYJ80.DLL
下页
上页
返回首页
9.3.3 实例:学生选课系统版本20
例9-1 创建学生选课系统的可执行文件
设计:对学生选课系统,直接生成可执行机器代码。因为这
个系统比较简单,所以只生成一个可执行文件,不使用动
态链接库。为了保证运行速度,在生成时采用速度优化的
方式。
操作步骤:
(1)启动PowerBuilder 9.0,打开工作区“example1.pbw”。
(2)选择“File”→“New”命令,打开“New”对话框,选择
“Project”选项卡。
(3)选中“Application”,单击“OK”按钮,打开“Project”对话
框。
下页
上页
返回首页
(4)在“Executable File Name”输入框中输入可执行文件
的名字“student.exe”。在“Code Generation Options”
区中,选中“Machine Code”项,在“Optimization”中
选择“Speed”项。在“Version”区中输入版本信息,
包括公司名称、产品名称等。
(5)单击工具栏“Deploy”按钮,开始生成可执行文件。
(6)生成完成后,单击工程画笔工具栏中的“Save”按钮,
打开“Save Project”对话框,输入工程名“student”。
(7)单击“OK”按钮,退出PowerBuilder9.0,测试生成的
可执行文件。
下页
上页
返回首页
实训九 创建可执行文件
实验名称:创建学生选课系统的可执行文件
目的要求:掌握创建可执行文件的方法,了解工程画笔
中各个编译选项的含义。
操作步骤:
(1)打开工作区,启动工程画笔。
(2)设置各个编译选项,生成可执行文件。
(3)保存工程,测试所生成的可执行文件。
结束
放映
下页
上页
返回首页