在Oracle SQL Developer中,使用调试不会在断点上停止

在Oracle SQL Developer中,使用调试不会在断点上停止,oracle,oracle-sqldeveloper,Oracle,Oracle Sqldeveloper,我正在尝试使用Oracle SQL Developer调试存储过程。DB在另一个盒子上。我已使用 GRANT debug any procedure, debug connect session TO <user>; 授予调试任何过程、调试连接会话; 我已将断点放在程序内的一条指定线上。出于绝望,我也尝试过其他地方。当我单击debug时,我会进入debug对话框,并填写所有值。当我点击debug时,存储过程运行,debug控件在一秒钟内在屏幕上闪烁,然后它完成并退出。它忽略了所有

我正在尝试使用Oracle SQL Developer调试存储过程。DB在另一个盒子上。我已使用

GRANT debug any procedure, debug connect session TO <user>;
授予调试任何过程、调试连接会话;

我已将断点放在程序内的一条指定线上。出于绝望,我也尝试过其他地方。当我单击debug时,我会进入debug对话框,并填写所有值。当我点击debug时,存储过程运行,debug控件在一秒钟内在屏幕上闪烁,然后它完成并退出。它忽略了所有断点,就好像它根本不存在一样。有什么想法吗?

好的,我偶然找到了答案。在我稍微修改了proc(添加了调试)和保存后,它开始工作。

要使调试工作,您必须使用调试标志编译包/过程。在SQLDeveloper中,这是通过打开包并单击“Gears with a bug”(编译包以进行调试)按钮来完成的


在这之后,所有断点都会工作。

这个答案可能不会对您这种情况下的其他人有多大帮助,我认为当您更改某些内容并保存->在SQL Developer中保存存储过程时,它实际上会在数据库中编译->查看我的答案我的案例的正确原因