可以使用 GBase Database
Add-Ins for Visual Studio 调试
GBase 8s
SPL 过程。
您可以调试运行在
GBase 8s
上的任何 SPL
过程。您可以遍历您的代码,设置行或变量断点,查看变量值,更改变量值,查看嵌套过程的调用堆栈信息,以及在调用堆栈的不同过程之间切换。通过在调试模式下运行过程并查看结果时单步执行代码,可以发现过程的问题并进行必要的更改。
要在 GBase Database
Add-Ins for Visual Studio(IDAIVS)中启动 SPL
例程调试,请按照以下步骤操作:
启动并配置
GBase 8s
数据库服务器实例
要配置
GBase 8s
数据库服务器实例以致于启用 SPL
例程调试,请按照下列步骤操作:
- 安装
GBase 8s
数据库服务器产品。
- 配置 onconfig 和 sqlhosts 文件中的条目并启动
GBase 8s
服务器,以支持 DRDA 通信协议:
注:
GBase 8s
的 SPL Routine
Debugger 支持通过 GBase 8s .Net
provider 连接到客户端,并且需要
GBase 8s
DRDA
协议连接。
- 您必须提供一个 sbspace ,以便数据库服务器存储 GBase Database
Add-Ins for Visual Studio 发送给服务器的 XML 消息。SBSPACENAME
配置参数的设置指定了系统缺省 sbspace 的名称。可以通过带 -Df "LOGGING=ON" 选项的 onspaces
实用程序在数据库上创建缺省 sbspace。此 sbspace 在 GBase Database
Add-Ins for Visual Studio上调试 SPL 的必要条件。
- 如果这是新的服务器实例,使用 CREATE DATABASE 语句创建新的数据库。稍后将使用此数据库在 GBase Database
Add-Ins for Visual Studio 中创建数据库连接,以部署和调试 SPL
例程。
启动例程调试会话管理器
要启动会话管理器,请按照下列步骤操作:
- 要手动启动会话管理器,使用以下的命令输出 CLASSPATH
环境变量设置:
export CLASSPATH=${GBASEDBTDIR}/bin/db2dbgm.jar:$CLASSPATH
- 使用 Java™ 1.5.0 或更高版本并确保它在 PATH
环境变量中运行下列命令,指定会话管理器将会使用的 port number 以及会话管理器日志文件的 pathname
:
java com.ibm.db2.psmd.mgr.Daemon -port port_num -log sess_mgr_log_path
注: 该会话管理器必须在运行
GBase 8s
实例的机器上启动,这也是
GBase Database
Add-Ins for Visual Studio
连接到会话管理器的必要条件。
建立
GBase 8s
数据库服务器连接
通过选择 "Add Connection…" 菜单项创建新连接,可以从服务器资源管理器中 "Data Connections" 节点上的操作(右键单击)弹出菜单访问
Add Connection 对话框。Data source 字段会显示 "IBM DB2,GBase 8s and U2 Servers
(IBM DB2, GBase 8s, and U2 Data Provider)。"
- 在下面 "1. Select or enter server name:"字段中,输入
GBase 8s
服务器实例的名称。
- 在 "2. Enter information to log on to the server:" 旁边的字段中输入您的用户 ID 作为 User
ID: ,在 Password: 字段中输入服务器上 gbasedbt 账户的密码。
- 在"3. Select or enter a database name:" 下面的字段中,输入存储要调试的 SPL 过程的数据库的名称。
- 点击 Test Connection 按钮以测试
GBase 8s
服务器实例的连接。
- 如果出现 Test connection succeeded 对话框,您可以点击 OK 按钮。可以忽略此 Add Connection
对话框,因为您已经在
GBase 8s
服务器和 Visual Studio
之间创建了连接。
设置会话管理器
在您开始调试会话之前,需要指定要调试的 SPL 例程,和数据库服务器连接以及会话管理器的端口号。
- 从 Server Explorer 中的 "Data Connections" 节点中,单击所有连接的
GBase 8s
服务器。
- 展开 Procedures 标题以显示数据库中所有存储过程的名称。
- 单击您要调试的 SPL 例程的名称。
- 从 Tools 选项卡,选择 Tools 列表底部附近的 "Options . . . " 菜单。
- 从 Options 对话框中,展开 GBase 8s Database Tools 项,然后单击 General
项显示类别的列表。
- 使用 General 选项列表右侧的滑块控件显示 Session Manager Connection 和 Session Manager
Port 号。
- 单击 OK 接受会话管理器配置的这些值。
有关如何使用 Visual Studio 的调试 SPL 例程的详细信息,请参阅 GBase Database
Add-Ins for Visual Studio。
调试
GBase 8s
SPL 过程
这是使用
GBase Database
Add-Ins for Visual Studio 调试 SPL 过程的步骤:
- 启用该过程的调试:
- 在数据连接的服务器资源管理器中,右键点击要调试的过程,然后单击快捷菜单上的 Open Definition 。
- 在 GBase Procedure
Designer
的过程视图中,在 Debug mode 文件中选择 ALLOW。
- 保存此过程,但是保持 Designer 打开。
- 在 GBase Procedure
Designer 中设置行断点。
- 如果过程在 Designer 中未打开,请在服务器资源管理器中的数据连接下,右键单击该过程,然后单击快捷菜单上的 Open Definition
。
- 在 Designer 的“过程”视图的 SQL Body 部分中,设置行断点。
- 要设置断点的属性,请右键单击左边距中的断点,选择快捷菜单上的 Location 、Filter 或 When Hit
,并在打开的窗口中指定必要的信息。
- 在调试模式中开始运行此过程。
- 如果该过程在 GBase Procedure
Designer
中打开,请单击 GBase Procedure
Designer
选项卡上的 Step Into。
- 如果未在 Designer 中打开此过程,在资源管理器中右击此过程,然后单击快捷菜单上的 Step Into。
- 在调试模式下运行每个过程,并使用以下方法之一:
- 设置变量断点。在 SQL 主体中,右击变量名称,在快捷菜单上点击 Breakpoints ,并选择 Insert Variable
Breakpoints。
- 修改断点的值。
- 继续调试
GBase 8s
SPL
过程直到该过程返回期望的结果。
在 CLR 应用程序中调试
GBase 8s
SPL
过程
当您以 C# 和 Visual Basic 语言开发 Windows™ 或 ASP.NET
应用程序,您可以使用 GBase Database
Add-Ins for Visual Studio调试公共语言运行库(CLR)应用程序。 如果该应用程序访问
GBase 8s
数据库服务器实例,则您可以在调试此应用程序时调试从此应用程序调用的 SPL 过程。
GBase
Unified Debugger 通过 GBase Procedure
Designer 调试 SPL
过程。如果当您调试应用程序时一个过程定义在 Designer 中打开,随着调试器进入该过程,将激活该 Designer 的实例。如果未在 Designer
中打开该过程定义,则随着调试器进入该过程,此调试器会在 Designer 的新实例中打开过程定义。
先决条件: 要调试 CLR 应用程序的 SPL 过程,在包含此应用程序中的项目中启用 GBase 8s SQL
debugging 。
要调试 CLR 应用程序的 SPL 过程,请按照以下步骤操作:
- 对于应用程序中的每个 SPL 过程:
- 启用此过程的调试:
- 在数据连接的服务器资源管理器中,右键点击要调试的过程,然后单击快捷菜单上的 Open Definition 。
- 在 GBase Procedure
Designer
的过程视图中,在 Debug mode 文件中选择 ALLOW。
- 保存此过程,并且可以选择打开 Designer 以设置行断点。
- 可选:在 GBase Procedure
Designer 中设置行断点。
- 在 Designer 的“过程”视图的 SQL Body 部分中,设置行断点。
- 要设置断点的属性,请右键单击左边距中的断点,选择快捷菜单上的 Location 、Filter 或 When
Hit ,并在打开的窗口中指定必要的信息。
- 保持 Designer 打开。
- 开始调试应用程序。
在解决方案资源管理器中,右击此应用程序,选择快捷菜单上的 Debug ,然后选择 Start new
instance。
调试开始而且 Debugger Task Status
窗口打开。
通用调试的每个过程的调用堆栈与调用该过程的线程的调用堆栈合并。您可以从 C# 或 Visual Basic
代码中查看调用过程的位置。
- 在调试模式运行每个调用的过程。
- 如果在步骤 1a.iii 中关闭了 GBase Procedure
Designer,在 Designer
的新实例中,在 SQL Body 部分为该过程设置行断点和断点属性。
- 设置变量断点。在 SQL 主体中,右键单击变量名称,单击快捷菜单上的 Breakpoints 然后选择 Insert Variable
Breakpoints。
- 修改断点的值。
- 要取消长时间运行任务,请在 Debugger Task Status 窗口中单击 Cancel 。
如果在调试应用程序时关闭了窗口,请从
Tools 菜单,选择 Show GBase 8s Debugger Task Status
来重新打开此窗口。
- 继续调试
GBase 8s
SPL
过程直到该过程返回期望的结果。
在 CLR 应用程序中启用 SQL 调试
如果要在 C# 或 Visual Basic 公共语言运行时(CLR)应用程序中调试
GBase 8s
SPL 过程,则必须首先为
GBase
数据库项目启用
GBase
SQL 调试。您只需执行一次此过程,为项目启用 SQL 调试会在
Visual Studio 中设置一个会在会话之间持续存在的项目属性。
当您在应用程序中启用 SQL 调试,则
GBase
Unified
Debugger 必须关闭并重新打开包含此应用程序的
GBase
数据库项目。项目重新打开后,必须指定数据连接以及可选的运行调试会话管理器的端口。您还必须更改某些标准 Visual Studio 项目调试属性的设置。
加载项( 32 位应用程序)不支持控制台应用程序的 64 位调试过程。在 64 位操作系统中,缺省的 debug 平台是 Any CPU ,这是一个 64
位调试过程。您必须在项目属性中指定 32 位调试平台。
Prerequisite:要在应用程序中启用
GBase
SQL 调试,在包含此应用程序的
GBase
数据库项目必须在解决方资源案管理中打开。
要在应用程序中启用
GBase
SQL 调试,请按照以下步骤操作:
- 在解决方资源案管理中,右键单击
GBase
数据库项目节点,然后在快捷菜单中选择 Enable GBase 8s SQL
Debugging。
将显示一条消息,说明必须关闭并重新打开项目。
- 在消息窗口中单击 Yes 以确认项目的关闭和重新打开。
保存所有未保存的修改,关闭项目,然后在解决方案资源管理器中重新打开它。
- 在解决方案资源管理器中,右键单击
GBase
数据库项目节点,然后在快捷菜单中选择 Properties 。
将打开 Project Designer 。
- 在 Designer 的左侧框,单击 GBase 8s Unified Debugger。
将显示
GBase
Unified Debugger 页面。
- 执行以下一组操作:
- 如果您有以下连接之一用于调试会话管理器:
-
GBase 8s
12.10
-
Linux™ 、UNIX™ 和 Windows 的
DB2
-
DB2
z/OS® 9.1 或 10 版本
-
DB2
i V5R4 或
V6R1
- 选择 Use an existing connection for session manager。
- 在列表中,选择要在其上运行调试会话管理器的数据连接。
- 如果您正在手动运行此调试会话管理器:
- 选择 Use a new host name for session manager。
- 为此调试会话管理器指定主机名。
- 如果您在 64 位的操作系统上调试控制台应用程序,请在 Platform 列表中选择 x86。
- 可选的:在 Session manager port 字段中,键入要在其上运行调试会话管理器的端口。
- 在项目设计器左侧框中, 单击 Debug。
将显示项目设计器的 Debug 页面。
- 在 Debug 页面修改以下属性:
- 在 Start Options,清除 Use remote machine 复选框。
- 在 Enable Debuggers,清除以下三个复选框:
- Enable unmanaged code debugging
- Enable SQL Server debugging
- Enable the Visual Studio hosting process
- 关闭 Project Designer。