> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/documentation/test/debugger.md).

# Debugger

Testing and debugging is an important step in any application — the clearest way to find a problem is checking what the app is doing line by line. Kalipso has always shipped a Win32 debugger and that stays unchanged. Kalipso 6.1 adds a new debugger that also runs on **Android**, **iOS** and **Windows 10/11**.

To enable it, tick **Activate Debugger** on the *Test Project* dialog (Test menu) before launching the test.

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2FKIGnpIyLl9jdMXFpZo30%2Fimage.png?alt=media&amp;token=19cf51b0-5deb-4b1c-8eb5-5e2c8ae236db" alt=""><figcaption></figcaption></figure>

When the test starts, the Debugger window opens with three working tabs: **Output**, **SQL** and **Variables**.

### Output

The **Output** tab logs every action executed by the app, in order, with its parameters and elapsed time in milliseconds. Errors are shown in red so they're easy to spot.

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2F1XBGEQNmHyWwJNVk9mH7%2Fimage.png?alt=media&amp;token=237e757f-bf27-42c5-a9f4-fb76112f452f" alt=""><figcaption></figcaption></figure>

Tick **Output Actions** to record actions live, or click **Clear** to empty the list.

### SQL

Run ad-hoc queries against any **Local** or **Remote** database profile of the running project — useful for inspecting on-device data without leaving Kalipso.

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2FDj5uB2BLqkG8dKjJfaX6%2Fimage.png?alt=media&amp;token=4d0d0ae6-564e-4505-9f3a-5e847226b0de" alt=""><figcaption></figcaption></figure>

Pick a **Database Profile** and (optionally) a **Table**, type the query and press **Execute**. The result opens in a separate window with execution time and record count.

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2F7TJ3vCYkHaWYreMQgXTM%2Fimage.png?alt=media&amp;token=db35ae63-bcd9-4b65-9da4-36fad71a17a6" alt=""><figcaption></figcaption></figure>

### Variables

The **Variables** tab lists Global and Local variables together with their current values. Filter by scope (**Form**), **Name** or **Value**, and press **Refresh** to pull the latest values from the device.

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2FRtnGTld53wFW5SVLEb2E%2Fimage.png?alt=media&amp;token=3a9180e4-77b5-47c8-9ad2-1496ba553f78" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Temporary variables aren't listed here — their values appear inline next to each action in the **Output** tab.
{% endhint %}
