The IScriptDebugger interface represents debugger that can be attached to the Business Rules Scripting API.


Required Methods


Attaches listener to the Business Rules Scripting API script debugger.

Listener Id designates the recipient of events raised by the debugger. For example RemoteScriptDebugger provides session Id as the listenerId argument's value, so the debugger events are later sent to the remote debugger application.

Debug flags are a list of the string valued describing requested debug features. Possible values are: {| class="dashed-table" ! style="width: 30% " |

! style="width: 70% " |
|- | Enable Step By Step Debug | Script execution pauses after each script operation. |- | Disable Step By Step Debug | Script execution pauses on errors and the stop; keyword. |- | Enable Caching: xxx | Value of the variable xxx defined in the script is sent to the debbugger events recipient only on value changes. For example serialized value of the ServerSchema variable can be rather big (up to several dozen of kilobytes) and doesn't 'change during script execution. So there is no need to sent it to the remote debugger application on every code execution step.

This flag can be added several times to the debuggerFlags argument, enabling cache for several script variables. |}


method Attach(listenerId: Guid; debugFlags: array of String)


void Attach(Guid listenerId, String[] debugFlags)


Sub Attach(listenerId As Guid, debugFlags As String())


  • listenerId: Listener Id
  • debugFlags: Debug flags


Continues script execution.


method Continue


void Continue()


Sub Continue()


Detaches listener from the Business Rules Scripting API script debugger.


method Detach(listenerId: Guid)


void Detach(Guid listenerId)


Sub Detach(listenerId As Guid)


  • listenerId: Listener Id


Registers provided debug events provider.


method Register(provider: IScriptDebugProvider)


void Register(IScriptDebugProvider provider)


Sub Register(provider As IScriptDebugProvider)


  • provider: Debug events provider


Steps into the function call or other script operation.


method StepInto


void StepInto()


Sub StepInto()


Steps out of the script funtion currently executing.


method StepOut


void StepOut()


Sub StepOut()


Steps over the function call or other script operation.


method StepOver


void StepOver()


Sub StepOver()


Breaks script execution.


method Stop


void Stop()


Sub Stop()


Unregisters debug events provider.


method Unregister


void Unregister()


Sub Unregister()