Flow debugger overview

Use the Flow debugger in the IBM® Integration Toolkit to track messages through your message flows.

Use the Debug perspective in the IBM Integration Toolkit to use the Flow debugger. For an introduction to the Debug perspective and the views it presents, see Debug perspective.

You can set breakpoints in a message flow, then step through the flow. While you are stepping through, you can examine and change the message variables and the variables used by ESQL code and Java™ code. You can debug a wide variety of error conditions in flows, for example:

  • Nodes that are wired incorrectly (for example, outputs that are connected to the wrong inputs)
  • Incorrect conditional branching in transition conditions
  • Unintended infinite loops in flow

From a single IBM Integration Toolkit, you can attach the Flow debugger to one or more integration servers, and debug multiple flows in different integration servers (and therefore multiple messages) at the same time. However, an integration server can be debugged by only one user at a time. Therefore, if you attach your Flow debugger to an integration server, another user cannot attach a Flow debugger to that same integration server until you have ended your debugging session.

When you debug message flows, use an integration node that is not being used in a production environment. Debugging might degrade the performance of all message flows in the same integration server and message flows in other integration servers that share the same integration node because they might be affected by resource contention.

Debugging code in message flow nodes

You can use the Flow debugger to examine the behavior of code in message flow nodes.

After you have deployed a message flow, you can set a breakpoint just before one of the nodes listed in this section so that, when the flow pauses at the breakpoint, you can step through the code line by line. This allows you to examine the logic, and check the actions taken and their results. You can set additional breakpoints and you can also examine and change variables.

The following nodes can contain ESQL code modules:
  • Compute node
  • Filter node
  • Database node
The following nodes can contain Java code modules:
  • User-defined nodes
  • JavaCompute node


The following restrictions apply when you debug a message flow:
  • You cannot use the Flow debugger with the Flow Exerciser. When you use the Flow debugger, you must use a third-party tool or the Test Client to send a message to the flow; see Test Client.
  • You must use the same version of the integration node and the IBM Integration Toolkit; for example, you cannot use the IBM Integration Toolkit Version 10.1 to debug a message flow that you have deployed to an integration node at an earlier version.
  • You should not debug message flows over the Internet, because there might be security issues.
  • You can debug a message flow that contains a Mapping node, but you cannot step into the graphical data mapping to view or set breakpoints on the transforms. However, you can use the user trace facility to find information that might help you to diagnose and debug mapping problems. For more information about user trace, see Testing your message flow by enabling user trace.

The following topics provide reference information to help you use the Flow debugger effectively:

You can also use the Java Debugger provided by the Java Development tools to debug Java code within the IBM Integration Toolkit.