Flow debugger overview

This topic introduces the flow debugger and contains the following sections:

After reading this conceptual overview, find detailed instructions to get you going in the task Debugging a message flow.

Introduction

The flow debugger is the tool that you use in the workbench to visually debug message flows. Read this topic to gain an understanding of the flow debugger before starting to use it.

Also, to use the flow debugger effectively, you need to have a basic understanding of message flows and their representation in the workbench, see Message flows overview for an introduction.

What you can do

The flow debugger features a visual debugging environment. You can set breakpoints in a flow and then step through the flow. While you are stepping, you can examine and change the message and variables in ESQL code or Java code. These capabilities enable you to debug a wide variety of error conditions in flows, such as:

From a single workbench, the debugger can attach to more than one execution group, and debug multiple flows in different execution groups (and therefore multiple messages) at the same time. However, a deployed flow in one execution group can be debugged by only one user at a time. If you attach your debugger to a flow, another user can attach to the same Data Flow Engine, but they will not see the flow that you are debugging.

How to start debugging

The Flow Debug perspective

Use the Flow Debug perspective for debugging. In its default mode, this perspective shows the following four windows:

First use the Debug (Create, manage, and run configurations) wizard to attach the flow debugger to the flow engine (execution group) where your flow is deployed. (See Attaching to the flow engine for more details on how to start and complete the wizard).

Then use the various views in the Flow Debug perspective to debug, as summarized in the following sections.

The Flow Debug view

When you attach the flow debugger to the flow runtime engine, the Flow Debug view displays the names of the following flow-related entities:

In the Flow Debug view, you can perform the following debugging tasks:

The Message Flow editor

The Message Flow editor has different functions in different perspectives:

For details of the other uses of this editor, see the description in Message Flow editor and the tasks in Defining message flow content.

In addition to displaying a flow, the Message Flow editor also displays any breakpoints that are set in the flow. Each breakpoint is identified by a symbol as follows:

Also the editor displays the following symbol above a node:

In the Message Flow editor, you can add or remove breakpoints.

The Flow Breakpoints view

The Flow Breakpoints view and the Flow Debug Message view share the same pane. Click one of the tabs to select the view that you want.

The Flow Breakpoints view displays the breakpoints that are set in all instances of a selected flow. Each breakpoint is identified by one of four symbols (as also used in the Message Flow editor) as follows:

In the Flow Breakpoints view, you can perform the following debugging tasks:

Flow Debug Message view

The Flow Debug Message view and the Flow Breakpoints view share the same pane. Click one of the tabs to select the view that you want.

The Flow Debug Message view displays the messages that are currently traveling through the flow. Use the view to examine or change the content of a message in a flow during debugging.

Related concepts
Message flows overview