Debugging Flows
Use the Debug tool on the Flow workspace to execute a flow and watch the results to locate logic and record errors. Execute the flow either, block by block, in series of Blocks based on the location of breakpoints that you specify, or enable the Break On Record Error option to execute blocks in sequence until a record error is found. See Debug Errors for more information.
Unlike the Preview feature, Debug mode executes the selected flow using the specified Connections. Debug modifies your target data, and the execution results display in your Execution History. When breakpoints are added to the flow the debug process moves from one breakpoint to the next across multiple blocks instead of executing the flow one block at a time. Best practice is to only use Debug Mode in a test environment.
Debugging flows is not supported if your flow:
- Is Incomplete.
- Is Disabled.
- Is Running
- Is Preparing
Requirements
To start Debug Mode for a flow:
- The flow must be enabled on the flows list for the app.
- The agent you selected for this app must be running.
- There must be no errors in the Errors And Warnings tab of the workspace or any individual blocks. See Block And Flow Errors And Warnings for more information.
- Changes to the flow must be saved. Select Apply before starting Debug Mode.
When you select Apply, the flow revision is saved and the Preparing process readies the flow to run. During the Preparing process the Debug Mode link and the Start link are disabled for a few moments until the process is complete.
Debug Commands
To display Debug commands, open the flow to debug and select Debug Mode. To end Debug Mode, select Exit Debug Mode or Stop.
- Start — Start processing this flow in Debug Mode. Debug processes the first (Query) Block then stops.
Note: When you start Debug, the app begins to run; you cannot make changes to the flow, no other users can use this app, and the Status on the Apps list displays as Running.
- Continue — Continue restarts the debug process. Debug runs until the next breakpoint is hit, if Break On Record Error is enabled it runs until a record error is found, or until the end of the flow is reached.
- Stop — Stop Debug Mode. When you select Stop, the app becomes available. The Status on the Apps list displays as Last run failed.
- Next — Process the next block in this flow.
- Break On Record Error—If enabled, the Debug process stops running when it reaches a record error and displays an arrow at the appropriate location. An error dialog displays and the error also displays in the right pane on the Errors tab. See Debug Errors.
Debug Tabs
Debug tabs display information about the records being processed based on the blocks in the flow above and below the Debug arrow. Tabs include:
Notes
- Debug sessions time out after 10 minutes of being idle. The warning is shown briefly and then is closed. If a Debug session times out because it has been left open for more than 10 minutes, the next time you start a Debug session, nothing happens and you must start the Debug session again.
- You can edit a flow while in Debug Mode, but the changes are not reflected in Debug results. To include flow changes in Debug results, exit Debug Mode, save the flow, and return to Debug Mode.
- Depending on the flow type, Debug processes the flow as follows:
- Integration Flows — Debug begins with values from the first source record found and processes all records in order. You can also select a history record and use that data to debug your flow.Note: If an On schedule app is scheduled to run while you are in Debug mode, the app does not start until you stop Debug mode.
- Message Flows — Debug queries your source and uses the values for the first record found. However, if your Outbound Message excludes some fields, the data used in Debug differs from your actual flow. Only one record is processed. You cannot set Breakpoints on the Wait For Message Block. Conditional Breakpoints are not supported. For more information, see Defining An On Event Message Flow.
- Request/Reply Flows — Debug processes the flow using the values from the Sample Value column of the Wait For Request Block. Only one record is processed. You cannot set Breakpoints on the Wait For Request block. Conditional Breakpoints are not supported. You can, if needed, reset the sample values.
- Integration Flows — Debug begins with values from the first source record found and processes all records in order. You can also select a history record and use that data to debug your flow.
- When running in Debug mode, other users see the Status for this app as Running.
- Batch processing is deactivated in Debug. Debug always processes one record at a time, even if batch processing is enabled for some blocks.
- Debug does not update the Net Change date value for the most recent record processed for the flow.
- Dates are shown in their raw format as returned from the datastore.