Debugging Clients

Additional debugging features are supported via DBGp, a common debugger protocol for languages and debugger UI communication. See Interactive Debugging for more details. Some UIs or "clients" known to be compatible with AutoHotkey are listed on this page:

Linux port: ahk_core --debug HOST:PORT script.ahk connects to a listening DBGp 1.0 IDE and breaks before auto-execute. An independent IDE-side oracle verifies filename breakpoints, run/step, stack/context, scalar properties and detach. The bundled VS Code 0.2.1 extension contributes editor gutter breakpoints plus a verified inline DBGp-to-DAP debugger for breakpoints, stack/scopes/variables and stepping; ordinary Run remains a separate non-debug command.

SciTE4AutoHotkey

SciTE4AutoHotkey is a free, SciTE-based AutoHotkey script editor. In addition to DBGp support, it provides syntax highlighting, calltips/parameter info and auto-complete for AutoHotkey, and other useful editing features and scripting tools.

Debugging features include:

https://www.autohotkey.com/scite4ahk/

Visual Studio Code

Linux port: the repository’s extensions/vscode-ahk-linux 0.2.0 VSIX includes the native ahk-linux debug type and uses ahk_core --debug; F5 supports source breakpoints, stack/scopes, scalar variables and stepping. Array/Map/Object trees support nested paging; exception filters support stop/inspect/continue for caught errors. Persistent idle Pause is bounded and exposes Global scope with an explicit no-active-frame label. Linux D-Bus compatibility objects expose side-effect-free adapter metadata. The VSIX commands can detach without ending the process and reconnect the same PID/endpoint; idle and running scripts are supported, while an IDE socket crash leaves the debuggee alive detached.

The vscode-autohotkey-debug extension enables Visual Studio Code to act as a debugger client for AutoHotkey. The extension has support for all basic debugging features as well as some more advanced features, such as breakpoint directives (as comments) and conditional breakpoints.

XDebugClient

XDebugClient is a simple open-source front-end DBGp client based on the .NET Framework 2.0. XDebugClient was originally designed for PHP with Xdebug, but a custom build compatible with AutoHotkey is available below.

Changes:

Download: Binary; Source Code

Usage:

Features:

Issues:

Notepad++ DBGp Plugin

A DBGp client is available as a plugin for Notepad++ 32-bit. It is designed for PHP, but also works with AutoHotkey. The plugin has not been updated since 2012, and is not available for Notepad++ 64-bit.

Download: See DBGp plugin for Notepad++.

Usage:

Features:

Issues:

Script-based Clients

A script-based DBGp library and example clients are available from GitHub.

GitHub: Lexikos / dbgp

The DebugVars script provides a graphical user interface for inspecting and changing the contents of variables and objects in any running script (except compiled scripts). It also serves as a demonstration of the dbgp.ahk library.

GitHub: Lexikos / DebugVars

Command-line Client

A command-line client is available from xdebug.org, however this is not suitable for most users as it requires a decent understanding of DBGp (the protocol).

Others

A number of other DBGp clients are available, but have not been tested with AutoHotkey. For a list, see Xdebug: Documentation.