<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>调试客户端</h1> <p>通过 <a href="https://xdebug.org/docs-dbgp.php">DBGp</a> 可以支持调试功能, DGBp 是一种常见的支持多语言和调试器 UI 通信的调试器协议. 请参阅<a href="Scripts.htm#idebug">交互式调试</a>了解更多细节. 在这个页面中列出了一些与 AutoHotkey 兼容的 UI 或 "客户端":</p> <ul> <li><a href="#SciTE4AutoHotkey">SciTE4AutoHotkey</a></li> <li><a href="#XDebugClient">XDebugClient</a></li> <li><a href="#dbgp.ahk">基于脚本的客户端</a></li> <li><a href="#command-line-client">命令行客户端</a></li> <li><a href="#others">其他</a></li> </ul> <h2 id="SciTE4AutoHotkey">SciTE4AutoHotkey</h2> <p><a href="https://www.autohotkey.com/scite4ahk/">SciTE4AutoHotkey</a> 是一个免费的基于 <a href="https://www.scintilla.org/SciTE.html">SciTE</a> 的 AutoHotkey 脚本编辑器. 除了 DBGp 支持, 它还为 AutoHotkey 提供了语法高亮, 调用提示, 参数信息和自动完成, 以及其他拥有的编辑特性和辅助工具.</p> <p>调试功能包括:</p> <ul> <li>断点.</li> <li>运行, 逐语句/逐过程/跳出.</li> <li>查看调用堆栈.</li> <li>列出局部域和全局域中变量的名称和内容.</li> <li>在变量上悬停时显示其内容.</li> <li>检查或编辑变量的内容.</li> <li>查看对象的结构.</li> </ul> <p><a href="https://www.autohotkey.com/scite4ahk/">https://www.autohotkey.com/scite4ahk/</a></p> <h2 id="XDebugClient">XDebugClient</h2> <p><a href="https://code.google.com/p/xdebugclient/">XDebugClient</a> 是一个基于 <b>.NET Framework 2.0</b> 的简单开源前端 DBGp 客户端. XDebugClient 一起最初设计用于带 Xdebug 的 PHP, 不过下面有一个自定义版本可用于 AutoHotkey 中.</p> <p><b>改变:</b></p> <ul> <li>允许调试器引擎报告 "php" 外的其他语言.</li> <li>添加 AutoHotkey 语法高亮.</li> <li>自动监听调试器引擎的连接, 而不需要等待用户点击 <em>开始监听</em>.</li> <li>截去属性值中首个空字符及其后面的内容, 因为当前 AutoHotkey 返回整个变量的内容而 XDebugClient 无法正确显示二进制内容.</li> </ul> <p><b>下载:</b> <a href="https://www.autohotkey.com/download/tools/XDebugClient.zip">二进制</a>; <a href="https://www.autohotkey.com/download/tools/XDebugClient_src.zip">源代码</a>(另请参阅 <a href="https://github.com/icsharpcode">SharpDevelop</a>, <a href="https://sourceforge.net/projects/dockpanelsuite/">Dockpanel Suite</a> 和 <a href="https://www.codeproject.com/Articles/14741/Advanced-TreeView-for-NET">Advanced TreeView</a>.)</p> <p><b>用法:</b></p> <ul> <li>运行 XDebugClient.</li> <li>运行 AutoHotkey/Debug.XDebugClient 会自动打开脚本文件.</li> <li>在左边距点击以至少设置一个断点.</li> <li>在调试菜单中选择运行或按下 <kbd>F5</kbd>.</li> <li>执行到断点时, 使用调试菜单或快捷键进行单步调试或继续执行脚本.</li> </ul> <p><b>特性:</b></p> <ul> <li>源码语法高亮只读显示.</li> <li>断点.</li> <li>运行, 逐语句/逐过程/跳出.</li> <li>查看调用堆栈.</li> <li>检查变量 - 选择变量名, 右键点击, 检查.</li> </ul> <p><b>已知问题:</b></p> <ul> <li>当脚本运行时用户界面不响应用户的输入.</li> <li>没有提供列出变量或设置变量值的结构.</li> </ul> <h2 id="dbgp.ahk">基于脚本的客户端</h2> <p>GitHub 上有一个基于脚本的 DBGp 库和示例客户端.</p><ul> <li>dbgp_console.ahk: 简单的命令行客户端.</li> <li>dbgp_test.ahk: 异步调试的示例.</li> <li>dbgp_listvars.ahk: 列出所有运行中脚本变量的示例客户端.</li> </ul> <p>GitHub: <a href="https://github.com/Lexikos/dbgp">Lexikos/<strong>dbgp</strong></a></p> <p>DebugVars 脚本提供了一种检查和改变任何运行脚本(除了已编译脚本) 的变量和对象的内容的图形用户界面. 它也可作为一个使用 dbgp.ahk 库的范本.</p> <p>GitHub: <a href="https://github.com/Lexikos/DebugVars.ahk#debugvars">Lexikos/<strong>DebugVars</strong></a></p> <h2 id="command-line-client">命令行客户端</h2> <p> <a href="https://xdebug.org/">xdebug.org</a> 有一个可用的命令行客户端, 但并不适合大多数用户使用因为它需要您对 DBGp 协议足够熟悉.</p> <h2 id="others">其他</h2> <p>还有一些可用的其他 DBGp 客户端, 不过没有在 AutoHotkey 测试过. 关于这些客户端的列表, 请参阅 <a href="https://xdebug.org/docs/remote">Xdebug: 文档</a>.</p> <a href="https://dftg.net">dftg</a><!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "d5a9c4fcb9b6482fa53ce820d892f969"}'></script><!-- Cloudflare Pages Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"95b20df6eeceaaa2","version":"2025.6.2","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfEdge":true,"cfOrigin":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"51750bb5dc4f40cc91a5ec55c63bbc01","b":1}' crossorigin="anonymous"></script> </body> </html>