You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Developer调试器无法进入PL/SQL匿名块,如何解决?

解决PL/SQL调试器无法单步暂停的问题

核心原因

你的代码在编译阶段就触发了数值溢出错误,调试器还没进入单步执行流程就直接终止了。PLS_INTEGER的取值范围是 -2147483648 到 2147483647,你赋值的2222222222超出了这个范围,导致编译失败。

解决步骤

  1. 修复数值溢出问题
    要么将变量类型替换为支持更大数值的NUMBER,要么将赋值改为PLS_INTEGER允许范围内的值:

    DECLARE
        l_pls   PLS_INTEGER; -- 或替换为 NUMBER
    BEGIN
        NULL;
        l_pls := 2147483647; -- PLS_INTEGER 最大值,避免溢出
    EXCEPTION
        WHEN OTHERS THEN
            dbms_output.put_line(dbms_utility.format_error_backtrace);
            dbms_output.put_line(dbms_utility.format_error_stack);
            dbms_output.put_line(sqlerrm);
    END;
    
  2. 确认调试启动方式
    检查快捷键CTRL+SHIFT+F10是否对应「调试」而非「运行」操作。部分工具中,运行操作会直接执行代码,不会触发调试断点。可以尝试手动点击工具栏的「调试」按钮,而非依赖快捷键。

  3. 验证数据库调试权限
    当前用户需要拥有调试相关权限,若没有则执行以下授权语句(需DBA权限):

    GRANT DEBUG CONNECT SESSION, DEBUG ANY PROCEDURE TO 你的用户名;
    
  4. 检查调试连接配置
    确保工具与数据库的JDWP连接正常:

    • 防火墙未拦截调试端口
    • 工具首选项中调试器的端口设置与数据库端一致

内容的提问来源于stack exchange,提问作者Javi Torre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:50:24