暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Vast+产品展厅 | VDS开发管理工具之代码调试

海量数据 2024-06-13
498

VDS(Vastbase Data Studio)是海量数据Vastbase G100和M100数据库专属的图形化开发管理工具,它具备完善的对象管理、数据管理、PL/SQL 程序开发调试、安全审计等功能。无需安装部署,不占用主机资源,即开即用。

使用VDS 开发管理工具,您只需掌握少量数据库知识就可以轻松管理数据库对象和数据。本文为您介绍VDS的相关原理和使用


VDS 是基于 Eclipse RCP 搭建的可视化桌面客户端 C/S 架构软件。技术上聚焦于客户端可视化的实现、客户端和数据库的交互,以及客户端和用户的互动。

展示:VDS 是一款桌面开发工具,需要显示器等硬件设备的支持

表现层:VDS 的可视化实现依赖于 RCP、SWT、JFace 等一系列的UI 技术或框架

业务层:在业务上,VDS 支持常见的用户需求包括:对象管理、连接管理、函数存储过程代码调试等

通信层:VDS 与数据库建立 JDBC 连接,并进行对象管理、调试等业务,在特殊场景下,也会基于 SSH 连接进行操作

运行环境:VDS 要求最低 JDk 11,操作系统本身需存在图形化(GTK)依赖


VDS 依赖 JDBC 与数据库进行通信,执行日常的对象查看、SQL 执行。另外,VDS 提供命令窗口,基于 libpq 协议与数据库进行通信。


VDS提供图形化的调试窗口用来开发、调试PL/SQL程序,调试窗口提供了常用的调试功能,如:单步进入、单步跳过、单步退出、查看/设置变量、查看调用堆栈、添加/删除断点。

调试窗口支持多开的同时调试不同的函数/存储过程,开发人员可以使用这些功能快速查找和修复应用程序中的错误,提高应用程序的稳定性和可靠性

调试原理

VDS调试是通过jdbc连接调用数据库系统模式DBE_PLDEBUGGER下的相关系统函数,进行单机下的函数/存储过程的调试。使用DBE_PLDEBUGGER调试时,需要有两个客户端连接数据库,一个客户端负责执行调试接口作为debug端,另一个客户端执行调试函数,控制server端函数/存储过程执行。相关操作示例如下:

1

准备调试

通过PG_PROC,查找到待调试存储过程的oid,并执行DBE_PLDEBUGGER的接口turn_on(oid),本客户端就会作为server端使用。



(1)     --查询到待调试的存储过程的oid

(2)     vastbase=# SELECT OID FROM PG_PROC WHERE PRONAME='test_debug';

(3)       oid

(4)     -------

(5)     16389

(6)     (1 row)

(7)     --调用DBE_PLDEBUGGER.turn_on(oid)

(8)     vastbase=# SELECT * FROM DBE_PLDEBUGGER.turn_on(16389);

(9)       nodename | port

(10)   ----------+------

(11)       datanode | 0

(12)     (1 row)


<<左右滑查看完整代码>>

如上,执行了SELECT * FROM DBE_PLDEBUGGER.turn_on(16389); 语句后返回的结果中 port就是服务端的proxy id。


2

开始调试

server端执行(call)存储过程,会在存储过程内第一条SQL语句前hang住,等待debug端发送的调试消息。



(1)     vastbase=# call test_debug(1);



此时再起一个客户端(可以理解为新获取一个数据库连接),作为debug端,通过turn_on返回的数据,调用DBE_PLDEBUGGER.attach关联到该存储过程上进行调试。



(1)     vastbase=# SELECT * FROM  DBE_PLDEBUGGER.attach('datanode',0);

(3)       funcoid |  funcname  | lineno |              query

(4)     ---------+------------+--------+----------------------------------

(5)         16389 | test_debug |      3 |   INSERT INTO t1 (a) VALUES (x);

(6)     (1 row)


<<左右滑查看完整代码>>

通过以上操作,就创建好我们调试的server端和debug端,后续就可以通过debug端执行DBE_PLDEBUGGER中单步执行、单步跳过等函数来具体调试函数、查看变量等。完整的DBE_PLDEBUGGER的相关接口如下:


DBE_PLDEBUGGER相关接口说明


调试操作

在VDS工具中,在对象浏览器中,右键点击要调试的存储过程名称,选择调试打开调试窗口,会回显存储过程源码,点击启动调试按钮弹出参数输入窗口,输入参数即可开始调试。

启动调试后,可以通过查看变量和调用堆栈来判断程序执行,可以选择控制执行,支持单步跳过、单步进入、单步退出,支持添加/删除断点,支持设置变量值的调试操作。

通过对VDS代码调试的原理和使用介绍,您可以轻松上手,实现图形化单步调试,提高开发效率。

更多海量数据黑科技,敬请锁定《Vast+产品展厅》。


• END •


往期推荐

文章转载自海量数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论