我对 PL/SQL 相当陌生,并被分配维护一个 PL/SQL 系统,该系统使用 PL/SQL 生成的 WEB 页面作为前端(PL/SQL Web 应用程序?)。由于应用程序的复杂性,我试图从 Oracle Developer Tools for Visual Studio (11.2.0.3.15) 或 Oracle 的 SQL Developer 中获取调试器。
我无法从开发环境启动应用程序,因此我在尝试调试的包中使用 DBMS_DEBUG_JDWP.CONNECT_TCP('10.15.1.177', '4000') 和 DBMS_DEBUG_JDWP.DISCONNECT() 过程。
在 Visual Studio 中启动 Oracle 调试侦听器时,工具 -> 启动 Oracle 外部应用程序调试器,此消息将出现在输出窗口中:
PL/SQL 调试器启动。PL/SQL 调试器正在监听主机:10.15.1.177 和端口:4000。
在 Oracle SQL Developer 中显示此消息
调试监听器(端口=4000 超时=0 本地地址=10.15.1.177)
使用 Visual Studio,如果访问网页并且没有断点,则输出窗口会出现以下消息。
数据库已连接到主机:10.15.1.177 和端口:4000 上的 PL/SQL 调试器。线程 0x1 已退出,代码为 0 (0x0)。数据库已与主机:10.15.1.177 和端口:4000 上的 PL/SQL 调试器断开连接。
如果包中的任何位置,在 DBMS_DEBUG_JDWP 语句之前、之间或之后有断点,则 WEB 浏览器和开发环境都会挂起。Visual Studio 一直处于“无响应”状态,直到它被终止。
在 Oracle SQL Developer 中,WEB 页面挂起。如果侦听器停止,则无法显示网页,因为没有可用的侦听器。
我无法控制 Oracle 服务器,但由于 iIt 建立了连接,我假设没有防火墙阻止该端口。?
有人知道我错过了什么吗?
有人告诉我,您不能调试生成网页的 PL/SQL 包,但没有发现任何文档表明存在问题。
谢谢你的帮助,
香农