Chapter 67. CTL Debugging

CloverETL lets you debug CTL code in the same way as development tools do it for other programming languages.

Debugging is useful if you have a complex transformation and you would like to step the transformation to see the values of variables.

To debug the transformation, add breakpoints and launch the transformation in the debug mode. The breakpoints can be added in Transform Editor on the source code tab.

Adding Breakpoint
  1. Open the Transform Editor.

  2. Switch to the source tab.

  3. In the source tab, right click the line number and choose Toggle Breakpoint from the context menu.

Types of breakpoints

Breakpoints can be internal or external (in external .ctl file).

By default, the execution stops each time the breakpoint is hit.

With Hit count, the execution stop each n-th hit of the breakpoint.

With Conditional breakpoint, the execution stops only if a condition is true, e.g. value of a variable equals to 10, or if value of a variable changes.


Run the graph from the main menu: RunDebug.

When the first breakpoint is reached, you are asked to confirm switching to the Debug Perspective.

In the Debug Perspective, you can step the program and enable or disable the breakpoints.


To use the breakpoint, you should run the graph using RunDebug. It's a common mistake to run the graph from context menu and then wonder why the breakpoint has not been reached.

Debugging Transformation in Multiple Components

To debug in multiple components, place breakpoints to these components and run the graph in debug mode. The components run in parallel, the graph run stops when the first breakpoint is reached.


The CTL Debugging is available since CloverETL 4.3.0-M1.