使用debug不会在Oracle SQL Developer中的断点处停止

uri*_*ium 7 oracle oracle-sqldeveloper

我正在尝试使用Oracle SQL Developer调试存储过程.数据库在另一个盒子上.我已经授予使用权限

GRANT debug any procedure, debug connect session TO <user>;
Run Code Online (Sandbox Code Playgroud)

我已将断点放在其中一个赋值行的过程中.我也是出于绝望而尝试了其他地方.当我单击调试时,我得到调试对话框,然后填写所有值.当我点击调试存储过程运行时,调试控件会在一秒钟内在屏幕上闪烁,然后完成并退出.它错过了所有的断点,就好像它甚至不存在一样.有任何想法吗?

Fal*_*lco 12

要使调试工作,您必须使用Debug-Flag编译Package/Procedure.在SQL-Developer中,这是通过打开包并单击"带有错误的Gears"-Button(用于调试的编译包)来完成的.

之后,所有断点都将起作用.


uri*_*ium 1

好吧,偶然发现了答案。事实证明,在我稍微改变了过程(添加了调试)并保存后,它就开始工作了。

  • 这个答案可能不会对您的情况有太大​​帮助,我认为当您更改某些内容并保存时 -&gt; 在 SQL-Developer 中保存存储过程实际上会在数据库中编译它 -&gt; 请参阅我的答案 (2认同)