# The Breakpoints Panel

> **Breakpoints** are used to purposely pause the debugging process on an activity which may trigger execution issues. Setting a condition and/or hit count turns the simple breakpoint to a conditional one. Adding logging results turns the conditional breakpoint in a conditional tracepoint. Adding only a logging message transforms the breakpoint to a simple tracepoint.

**Breakpoints** are used to purposely pause the debugging process on an activity which may trigger execution issues. Setting a condition and/or hit count turns the simple breakpoint to a conditional one. Adding logging results turns the conditional breakpoint in a conditional tracepoint. Adding only a logging message transforms the breakpoint to a simple tracepoint.

You can place and modify a breakpoint on any activity as follows:

* from the context menu, right-click an activity and select **Toggle Breakpoint**;
* by selecting the activity, and clicking the **Breakpoints** button on the **Debug** tab;
* by pressing F9 while the desired activity is selected.

A single activity needs to be selected for a breakpoint to be toggled. You can, however, toggle as many breakpoints as you see fit. Make sure that the order of activities in the workflow is not changed after the breakpoint is set.

Each breakpoint or tracepoint receives a specific icon based on its state. The icon is set on the activity and visible in the **Breakpoints** panel.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-170057-53c3c804.webp)

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
     Type  
     Description  
  
 
 
  
    Breakpoints 
   
      
         Enabled -  
         Disabled -  
      

  
  
    Conditional Breakpoints 
     Conditional breakpoints are breakpoints that depend on a set condition and/or a hit count. Conditional breakpoints can have the following states: 
      
         Enabled -  
         Disabled -  
      

  
  
    Tracepoints 
     Tracepoints are breakpoints with set logged messages. When the tracepoint is reached during debugging, the message is logged at trace level. Tracepoints can have the following states: 
      
         Enabled -  
         Disabled -  
      

  
  
    Conditional Tracepoints 
     Conditional tracepoints have a set condition or hit count, and a logged message. The message is logged when the condition is met the number of times stated in the hit count field. Conditional tracepoints can have the following states: 
      
         Enabled -  
         Disabled -  
      

  
 

To modify the state of a breakpoint or tracepoint select the activity and press F9, click the icon in the **Breakpoints** panel, or use the **Designer** or **Breakpoints** panel context menus. You can also click the **Breakpoints** button on the **Debug** tab, open the drop-down menu and click **Toggle Breakpoint**.

:::note
**Breakpoints** set during design time persist when reopening the automation project. Breakpoints don't persist at runtime, only at debugging.
:::

Select a breakpoint in the panel and click the **Delete** button to remove it. The **Delete all breakpoints** option enables you to delete all the breakpoints in the current project. The **Enable all breakpoints** option helps you enable all breakpoints in the currently opened project. Consequently, the **Disable all breakpoints** option disables all breakpoints. Multiple selection is available in the **Breakpoints** panel.

## Breakpoint Settings

The **Breakpoints** panel comes with a set of settings that can be individually adjusted for each toggled breakpoint part of the automation project. Click the ![](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-image-breakpoints_settings-e56131aa.png) icon to open the window.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-168962-3a8a1fa7.webp)

:::note
Please take into consideration that any expression added in the **Condition** field is not validated.
:::

## Field Descriptions for Breakpoint Settings

The **Breakpoint Settings** window has the following options:

| Option | Description |
| --- | --- |
| **Condition** | The condition for the breakpoint. If the condition is met during debugging, the execution breaks and the activity is highlighted. |
| **Hit Count** | Specifies the number of times the condition must be met before the execution breaks. If the hit count is higher than the number of times the condition can be met, the execution does not stop upon encountering the breakpoint. The maximum hit count value is 32,767. |
| **Log Message** | Specifies the message to be logged at trace level when the condition is met. The message is visible in the **Output** panel. If a condition is not set, the message is still logged. |
| **Continue execution when logging** | If selected, the execution is not paused when the condition is met and the specified message is logged. Available only if a log message was previously set. |

Settings for any breakpoint in the project are visible upon hovering the breakpoint in the **Designer** panel.

## The Breakpoints Panel

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-171708-59b99e6f.webp)

The **Breakpoints** panel displays all breakpoints in the current project, together with the file in which they are contained. The **Activity Name** column shows the activity with the toggled breakpoint, while the **File Path** column displays the file and its location.

The **Condition** column displays conditions set to breakpoints. The **Log Message** column shows messages to be logged if the condition is met. Hover over the breakpoint tag on an activity to view its condition and log message.

Double-click on a breakpoint to see the activity highlighted in the **Designer** panel. Use context menu options or the **Breakpoints** button in the ribbon to enable or disable breakpoints.

To delete multiple breakpoints, select them and click **Delete** in the context menu, or the **Delete** button in the panel. This removes the breakpoints from the current file.

The **Delete all**, **Enable all** and **Disable all** breakpoints buttons perform actions on all breakpoints listed in the panel, regardless if they are selected or not.

## Context Menu for Breakpoints

Right-click an item in the **Breakpoints** panel to open the context menu with the following options:

| Option | Description |
| --- | --- |
| **Delete** | Deletes the selected breakpoints. |
| **Focus** | Jumps to the breakpoint in the **Designer** panel. |
| **Enable** | Enables the selected breakpoints. |
| **Disable** | Disables the selected breakpoints. |
| **Settings** | Opens the **Breakpoint Settings** window for adding a condition to the breakpoint. |

:::note
Breakpoint conditions are not evaluated when using **Validate File** or **Validate Project**.
:::

## Known Limitations in Windows-legacy Projects

Execution does not pause when a breakpoint is hit if the workflow contains:

* A UI Automation activity where any option is selected for the **Wait for page load** property.
* Two variables of different types that are called using the same expression.
