15.1 Studio Debugging Tools: Breakpoints, Panels & Execution Control

Key Takeaways

  • F5 debugs the project from Main, F6 debugs the current file, F9 toggles a breakpoint, Pause breaks, and F12 stops.

  • Step Into opens containers and invoked workflows (read-only tab), Step Over runs them without opening, and Step Out finishes the current container.

  • Retry re-runs the previous activity, Ignore continues from the next activity, and Restart starts again from the first activity of the project.

  • Breakpoint settings are Condition (not validated), Hit Count (up to 32,767), Log Message (Trace level), and Continue execution when logging, which makes a non-pausing tracepoint.

  • The Locals panel is where values are edited while paused; Watch and Immediate evaluate, Call Stack shows the next activity and its parents, and Slow Step 1x is the slowest speed.

Last updated: September 2026

15.1 Studio Debugging Tools: Breakpoints, Panels & Execution Control

Core Concept: Studio's debugger lets you pause a workflow, step through activities, inspect and change values, and log information without stopping. Knowing exactly what each action and panel does, and what it does not do, is a common source of exam questions.


Starting a Debug Session

Debugging is available from the Design and Debug ribbon tabs, but not while project files have validation errors.

ShortcutAction
F5Debug the project, starting with the file set as Main
F6Debug the currently opened file
Ctrl + F5 / Ctrl + F6Run the project / run the current file without debugging
F9Toggle a breakpoint on the selected activity
F11 / F10 / Shift + F11Step Into / Step Over / Step Out
PausePause (Break) the execution, in normal and debug mode
F12Stop the execution, in normal and debug mode

Right-clicking an activity also offers Run to this Activity, Run from this Activity, and Test Activity, which runs one activity in the debugger and asks for the values of the variables it uses.


Stepping and Recovery Actions

ActionWhat it does
Step IntoDebugs activities one at a time. For Invoke Workflow File, the invoked workflow opens in a new tab in read-only mode and its activities run one by one
Step OverRuns the next activity; containers such as sequences, flowcharts, and Invoke Workflow File are highlighted but not opened
Step OutCompletes the activities in the current container and pauses at the level of that container
RetryRe-executes the previous activity and throws the exception again if it recurs
IgnoreIgnores the exception and continues from the next activity
RestartAvailable after an exception paused debugging; restarts from the first activity of the project, or from the activity chosen with Run from this Activity
BreakPauses at any moment; then choose Continue, Step Into, Step Over, or Stop
FocusReturns the designer to the current execution point, breakpoint, or failing activity

Warning

Ignore skips the failing activity, so its output variables are never set. Later activities that use them often fail with a NullReferenceException.

While debugging is paused, you can also change the properties of the current activity, such as its selector, timeout, or inputs, from the Properties panel or the designer. The activity runs with the new values when execution resumes, and when debugging ends Studio asks whether to keep the changes.


Debug Ribbon Options

OptionBehavior
Slow StepHighlights and opens each activity and container as it runs, like Step Into but without pausing. It has 4 speeds: 1x is the slowest and 4x the fastest; each click moves to the next speed
Execution TrailOff by default. Marks executed activities in green and activities that threw an exception in red; activities that did not run stay unmarked
Highlight ElementsHighlights UI elements as they are used during debugging
Log ActivitiesShows each debugged activity as a Trace log in the Output panel. Highlight Elements and Log Activities can only be toggled before debugging
Continue on ExceptionOff by default. When off, an error stops debugging and highlights the failing activity (or passes the error to a Global Exception Handler if one is set). When on, the exception is logged and execution continues
Picture in PictureRuns or debugs in a separate session or virtual desktop
Remote DebuggingSends run and debug operations to a remote robot
Profile ExecutionMeasures how long each activity takes (see the Profile Execution section)

Breakpoints and Tracepoints

Toggle a breakpoint with F9, the Toggle Breakpoint context menu, or the Breakpoints button on the Debug tab. A breakpoint pauses execution before the activity runs. Breakpoints persist when you reopen the project and affect only debugging, not normal runs.

Breakpoint Settings fields:

FieldMeaning
ConditionBreaks only when the expression is true. The expression is not validated, so typos only show up at run time
Hit CountThe number of times the condition must be met before execution breaks; maximum 32,767
Log MessageA message logged at Trace level in the Output panel when the breakpoint is reached (or its condition is met)
Continue execution when loggingLogs the message without pausing; available only after a log message is set

The four types follow from these settings:

  • Breakpoint: no settings; always pauses.
  • Conditional breakpoint: a condition and/or hit count.
  • Tracepoint: a log message. With Continue execution when logging selected, it logs without stopping.
  • Conditional tracepoint: a condition or hit count plus a log message.

The Breakpoints panel lists them all and can enable, disable, or delete all breakpoints, and Focus jumps to one in the designer.


Debugging Panels

PanelShowsCan you change values here?
LocalsThe exception (description and type), arguments, variables, the input and output properties of the previously executed activity, and the properties of the current activityYes. While paused, open a value's Local Value window to edit variables, arguments, and the current activity's properties. Edits are not saved to the file
WatchVariables, arguments, and expressions you add; values update after each activityNo, it displays values
ImmediateThe result of a variable, argument, or statement you type and submit with Enter; keeps a history you can clearUsed to evaluate, not documented as a place to assign values
Call StackThe next activity to run and its parent containers; an activity that threw an exception is marked and highlighted in redNo; double-click an item to focus it in the designer

Notes:

  • Add an item to the Watch panel by typing it in the Add Watch field, or with Add to Watch from the Locals panel or Add Watch from the Variables or Arguments panel.
  • In the Immediate panel, use parentheses for method calls, for example Names.First().ToUpper.
  • Changing values from the Variables or Arguments panel or the Data Manager is not supported during debugging; use the Locals panel.
  • Large values are truncated in both the Locals and Immediate panels.

Walkthrough: An Intermittent Business Rule Failure

A performer occasionally marks invoices as business exceptions when they look valid.

  1. Set a conditional breakpoint on the validation activity with the condition String.IsNullOrWhiteSpace(in_TransactionItem.SpecificContent("ApproverID").ToString).
  2. Debug the file with F6. Execution pauses only for suspicious items.
  3. Inspect the Locals panel: ApproverID holds three spaces instead of an empty string.
  4. Evaluate in the Immediate panel: in_TransactionItem.SpecificContent("ApproverID").ToString.Trim.Length returns 0.
  5. Fix and verify: update the validation to trim the value, change the test value in the Locals panel's Local Value window, and continue to confirm the new branch.
  6. Replace the breakpoint with a tracepoint that logs the approver value and continues, to watch a full batch without stopping.
Test Your Knowledge

A developer is debugging a complex process and encounters an 'Invoke Workflow File' activity named 'CalculateTax.xaml'. The developer wants to execute all activities inside 'CalculateTax.xaml' at full runtime speed without stepping through them individually, but wants execution to pause immediately at the activity following the invocation in the parent workflow. Which debug command should be selected?

A

Step Into (F11)

B

Step Over (F10)

C

Step Out (Shift + F11)

D

Retry

Test Your Knowledge

A developer wants to log the value of int_Counter on every loop iteration during debugging without pausing. Which breakpoint configuration does this?

A

A breakpoint with Hit Count set to 1.

B

A conditional breakpoint with the condition int_Counter > 0.

C

A breakpoint with a Log Message containing the counter and Continue execution when logging selected.

D

Slow Step at 4x on the loop.

Test Your Knowledge

Paused at a breakpoint, a developer wants to change the Boolean variable isApproved from False to True before continuing. According to the Studio documentation, where can this be done?

A

In the Watch panel, by typing a new value in the Value column.

B

In the Variables panel, by changing the Default value.

C

In the Call Stack panel, by double-clicking the frame.

D

In the Locals panel, by opening the Local Value window for the variable and editing it.

Sections you finish are checked off in the contents.