kd.bos.script.debug

## 接口 DebugManager

- 所有已知实现类:
    KDebugManager

      public interface DebugManager

- - ### 方法概要

    所有方法 静态方法 实例方法 抽象方法 默认方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `addBreakPoint(java.lang.String scriptName, int... breakPointLines)` 设置断点
    `void` | `addWatch(java.lang.String scriptName, java.lang.String expression)` 设置表达式查看
    `void` | `clearAllBreakPoints()`
    `void` | `clearAllWatches()`
    `void` | `clearBreakPoints(java.lang.String scriptName)`
    `void` | `clearWatches(java.lang.String scriptName)`
    `static boolean` | `currentIsDebugMainThread()` 当前线程为调试主线程(业务界面请求线程)，注意：须在ScriptExecutor.setupThreadDebug之后调用才准确。
    `static void` | `exit(java.lang.String debugId)`
    `static DebugCache` | `getDebugCache(java.lang.String debugId)`
    `DebugExecutor` | `getDebugExecutor()`
    `static DebugManager` | `getDebugManager(java.lang.String debugId)` 获取调试管理器
    `static DebugThread` | `getDebugThread(java.lang.String debugId)`
    `java.util.List<LogMessage>` | `getLogMessages()`
    `ScriptExecutor` | `getScriptExecutor()`
    `boolean` | `isStarted()` 是否已经启动
    `boolean` | `isTerminaled()` 调试执行完毕(已终止)
    `static boolean` | `keepAlive(java.lang.String debugId)`
    `void` | `removeBreakPoint(java.lang.String scriptName, int... breakPointLines)`
    `void` | `removeWatch(java.lang.String scriptName, java.lang.String expression)`
    `static <T> T` | `runAtDebugThread(java.lang.String debugId, java.util.concurrent.Callable<T> callable)` 在debug线程中执行 call by kd.bos.dubbo.debug.DebugUtil#invoke
    `static <T> T` | `runAtDebugThread(java.lang.String debugId, java.util.concurrent.Callable<T> callable, boolean inspect)`
    `void` | `setBreakPoint(java.lang.String scriptName, int... breakPointLines)`
    `void` | `skipAllBreakpoints(boolean skip)`
    `void` | `start()` 执行(开关)
    `void` | `startup()`
    `DebugResult` | `startupThenGet()`
    `static DebugManager` | `waitForDebugManager(java.lang.String debugId)`

- - ### 方法详细资料

    - #### getDebugManager

          static DebugManager getDebugManager(java.lang.String debugId)

      获取调试管理器

    - #### waitForDebugManager

          static DebugManager waitForDebugManager(java.lang.String debugId)
                                           throws java.lang.InterruptedException

      抛出:
        `java.lang.InterruptedException`

    - #### getDebugCache

          static DebugCache getDebugCache(java.lang.String debugId)

    - #### currentIsDebugMainThread

          static boolean currentIsDebugMainThread()

      当前线程为调试主线程(业务界面请求线程)，注意：须在ScriptExecutor.setupThreadDebug之后调用才准确。

    - #### keepAlive

          static boolean keepAlive(java.lang.String debugId)

    - #### exit

          static void exit(java.lang.String debugId)

    - #### runAtDebugThread

          static <T> T runAtDebugThread(java.lang.String debugId,
                                        java.util.concurrent.Callable<T> callable)
                                 throws java.lang.Exception

      在debug线程中执行 call by kd.bos.dubbo.debug.DebugUtil#invoke
      抛出:
        `java.lang.Exception`

    - #### runAtDebugThread

          static <T> T runAtDebugThread(java.lang.String debugId,
                                        java.util.concurrent.Callable<T> callable,
                                        boolean inspect)
                                 throws java.lang.Exception

      抛出:
        `java.lang.Exception`

    - #### getDebugThread

          static DebugThread getDebugThread(java.lang.String debugId)

    - #### getScriptExecutor

          ScriptExecutor getScriptExecutor()

    - #### getDebugExecutor

          DebugExecutor getDebugExecutor()

      返回:
        当前脚本执行器(调用了ScriptExecutor执行脚本的接口才会有值，否则返回null)

    - #### start

          void start()

      执行(开关)

    - #### startup

          void startup()

    - #### startupThenGet

          DebugResult startupThenGet()

    - #### isStarted

          boolean isStarted()

      是否已经启动

    - #### isTerminaled

          boolean isTerminaled()

      调试执行完毕(已终止)

    - #### addBreakPoint

          void addBreakPoint(java.lang.String scriptName,
                             int... breakPointLines)

      设置断点

    - #### removeBreakPoint

          void removeBreakPoint(java.lang.String scriptName,
                                int... breakPointLines)

    - #### setBreakPoint

          void setBreakPoint(java.lang.String scriptName,
                             int... breakPointLines)

    - #### clearBreakPoints

          void clearBreakPoints(java.lang.String scriptName)

    - #### clearAllBreakPoints

          void clearAllBreakPoints()

    - #### skipAllBreakpoints

          void skipAllBreakpoints(boolean skip)

    - #### addWatch

          void addWatch(java.lang.String scriptName,
                        java.lang.String expression)

      设置表达式查看

    - #### removeWatch

          void removeWatch(java.lang.String scriptName,
                           java.lang.String expression)

    - #### clearWatches

          void clearWatches(java.lang.String scriptName)

    - #### clearAllWatches

          void clearAllWatches()

    - #### getLogMessages

          java.util.List<LogMessage> getLogMessages()