# Debugger

## What is the Debugger?

The **debugger** is designed to simplify the debugging process. It allows you to add breakpoints to start and pause your automation as needed, enhancing your development workflow and experience.

## How Do I Use the Debugger?

To use it, hover over the left side of the line where you want to add a debug point and click on the bug icon (:spider:) that appears. Two options appear: a **Start** and a **Pause** point. Click to enable either one:

* **Start:** Will run the automation **from** this line.
* **Pause:** Will run the automation **until** this line *(execution will stop at the line before)*.

{% hint style="success" %}
Add all debugging markers *before* running the automation. Markers added while the automation is running will not take effect until the next run.
{% endhint %}

## Visual Markers

These are the markers used in the interface to indicate different states of execution:

* **Start:** A **green** dot marks where automation execution will begin.

![Debugger Start Point](https://681267560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXsMyN9vMn8AoQ4BYIwT%2Fuploads%2Fgit-blob-f7103e05362058c42ad945fe4fbcff8a808d7815%2Fdebugger_start.png?alt=media)

* **Stop:** A **red** dot indicates that automation execution pauses before this line.

  ![Debugger Pause Point](https://681267560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXsMyN9vMn8AoQ4BYIwT%2Fuploads%2Fgit-blob-e1afbd416e4ec43bc92b1e320553cb82a356fc36%2Fdebugger_stop_icon.png?alt=media)
* **Paused:** A **yellow** line marks where the automation is currently paused.

  ![Debugger Paused Marker](https://681267560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXsMyN9vMn8AoQ4BYIwT%2Fuploads%2Fgit-blob-8bea91c40caff5ace7ef86ce005470dbbe3b8224%2Fdebugger_paused_icon.png?alt=media)

## Important Notes

### 1. Multiple Breakpoints

You can add multiple breakpoints within a single run. Utilizing multiple breakpoints can significantly enhance your development workflow, making it easier to identify and resolve issues within your automations.

### 2. Execution Start Point

Execution is context-dependent and does not guarantee it will begin from a specified line. The system automatically adjusts the start point based on execution history and surrounding control structures.

{% hint style="info" %}
For example, if the start point is inside a loop, the system can move the start point to the beginning of the loop.
{% endhint %}
