Xdebug 客户端
Sublime Text 的 Xdebug 调试器客户端
详细信息
安装次数
- 总数 151K
- Win 85K
- Mac 34K
- Linux 32K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | 6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 1 | 0 | 2 | 2 | 3 | 4 | 2 | 3 | 5 | 4 | 1 | 3 | 2 | 4 | 4 | 1 | 2 | 1 | 1 | 5 | 1 | 3 | 2 | 0 | 1 | 1 | 1 | 0 | 5 | 5 | 1 | 0 | 3 | 2 | 0 | 1 | 3 | 1 | 5 | 2 | 4 | 1 | 4 | 6 | 2 | 1 |
Mac | 2 | 1 | 0 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 2 | 0 |
Linux | 1 | 0 | 0 | 0 | 0 | 1 | 3 | 2 | 2 | 1 | 1 | 0 | 1 | 0 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 1 | 0 | 4 | 1 | 2 | 0 | 0 | 0 | 2 | 2 | 2 | 1 | 1 | 3 | 0 | 1 | 2 | 0 | 2 | 1 | 0 | 2 |
说明
SublimeTextXdebug
Sublime Text 的 Xdebug 调试器客户端集成。
基于Kindari的SublimeXdebug软件包中的Xdebug协议功能。
概述
功能
- 通过配置路径映射进行远程调试
- 在本地驱动器上找到时,在断点处导航到相关文件的特定行
- 自定义调试布局以显示带有语法的堆栈历史和上下文变量
- 查看所有文件的断点并简单地单击禁用/启用断点
- 通过设置观察表达式在当前执行上下文中评估代码
- 检查(嵌套)上下文变量
- 兼容 Sublime Text 2 和 3
命令行
以下是在 Xdebug 命名空间下的命令菜单或“工具 / Xdebug”菜单下可找到的完整命令列表。
开始/停止调试会话
- 开始调试 - Ctrl+Shift+F9 或 ⌘+Shift+F9
- 开始调试(启动浏览器)
- 重启动会话
- 停止调试 - Ctrl+Shift+F10 或 ⌘+Shift+F10
- 停止调试(启动浏览器)
- 停止调试(关闭窗口)
启动浏览器 菜单项将仅在选择器中配置了URL的情况下显示。
断点
- 添加/删除断点 - Ctrl+F8 或 ⌘+F8
- 设置条件断点 - Shift+F8
- 清除断点
- 清除所有断点
观察表达式
- 设置观察表达式
- 编辑观察表达式
- 删除观察表达式
- 清除观察表达式
会话命令
- 评估
- 执行
- 状态
续行命令
- 运行 - Ctrl+Shift+F5 或 ⌘+Shift+F5
- 运行到行
- 步过 - Ctrl+Shift+F6 或 ⌘+Shift+F6
- 进入断点 - Ctrl+Shift+F7 或 ⌘+Shift+F7
- 退出断点 - Ctrl+Shift+F8 或 ⌘+Shift+F8
- 停止
- 断开
其他
- 恢复布局 / 关闭窗口 - Ctrl+Shift+F11 或 ⌘+Shift+F11
- 设置 - 默认
- 设置 - 用户
安装
包控制
在命令面板中执行 “包控制:安装包” 获取可用的包列表。在列表中搜索并安装包 Xdebug 客户端
。
Git
通过在您的 Packages 目录中执行以下命令来克隆仓库
git clone https://github.com/martomo/SublimeTextXdebug.git "Xdebug Client"
下载
从 GitHub 获取最新版本的 [源代码](https://github.com/martomo/SublimeTextXdebug/archive/master.zip) 并将其提取到您的 Packages 目录中。
注意:您可以在 首选项 / 浏览包...
菜单下找到您的 Packages 目录。
Xdebug
为了能够调试您的 PHP 脚本,您需要在服务器上安装 Xdebug 扩展。[查看安装说明](http://xdebug.org/docs/install)
以下是一个 php.ini/xdebug.ini 的配置模板,如果您处于 Live 环境,请务必要注意,remote_connect_back 允许来自任何来源的调试请求被接受。
[xdebug]
zend_extension = /absolute/path/to/your/xdebug-extension.so
;zend_extension = "C:\Program Files (x86)\PHP\ext\php_xdebug.dll"
xdebug.remote_enable = 1
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = req
xdebug.remote_connect_back = 1
有关配置 Xdebug 所有可能设置的详细信息,见 [这里](http://xdebug.org/docs/all_settings)。
配置
以下设置可以在 Xdebug.sublime-settings 或 *.sublime-project 文件中进行配置
路径映射
为了执行远程调试并解析文件位置,需要配置路径映射,以服务器路径作为键,本地路径作为值。
URL
确定在启动/停止会话时在默认浏览器中启动哪个 URL。
IDE 键
IDE 键用于在 Sublime Text 启动或停止调试会话时识别调试引擎。
此包不会根据 IDE 键过滤会话,它将接受任何 IDE 键,包括与配置的 IDE 键不匹配的 IDE 键。这仅仅用于使用配置的 URL 启动默认浏览器。
主机
Sublime Text 应该监听以连接到调试引擎的网络接口的主机地址。
指定网络接口的主机地址时,请确保指定一个 IPv4 地址,因为 Sublime Text 将通过 IPv4 套接字监听连接。
端口
Sublime Text 应该监听以连接到调试引擎的端口号。
最大子进程数
返回的数组子元素和对象属性的最多数量。
最大数据量
最初检索的变量数据的最大量。
最大深度
要检索的数组元素和对象属性的嵌套级别的最大量。
会话开始时断点
在调试引擎连接时,在会话开始时在第一行中断点。
在异常中断点
当异常名称与列表值中的条目匹配时,会在异常中断点暂停执行。
在停止时关闭
在会话停止时始终关闭调试窗口并恢复布局。
超级全局变量
在上下文视图中显示关于超级全局变量的信息。
全名属性
在上下文视图中以全名显示属性。
隐藏密码
不在上下文视图中显示可能的密码值。
美化输出
将评估结果以解析后的输出来呈现,而不是原始 XML。
启动浏览器
始终在会话开始/停止时启动浏览器。
此操作仅当您已配置 'url' 设置时才会生效。
浏览器不执行
在会话停止时启动浏览器时不要执行脚本。
使用参数 XDEBUG_SESSION_STOP_NO_EXEC 而不是 XDEBUG_SESSION_STOP。
禁用布局
不要使用调试窗口布局。
调试布局
在调试时使用的窗口布局。
断点组
断点索引
上下文组
上下文索引
堆栈组
堆栈索引
watch_group
watch_index
调试视图的组及其索引位置。
breakpoint_enabled
breakpoint_disabled
breakpoint_current
current_line
用于指示当前行或启用的/禁用的断点的自定义滚动条图标。
请勿为上述值使用相同的图标,因为Sublime Text无法为不同的作用域使用相同的图标。如果检测到重复的图标,将回退到包中对应的图标。
python_path
系统上Python安装的路径。
用于加载缺失的模块。
debug
显示调试器引擎与Sublime Text之间通信的详细日志信息。
以下是配置Xdebug.sublime-settings和*.sublime-project文件的方法示例。
Xdebug.sublime-settings
{
"path_mapping": {
"/absolute/path/to/file/on/server" : "/absolute/path/to/file/on/computer",
"/var/www/htdocs/example/" : "C:/git/websites/example/"
},
"url": "http://your.web.server/index.php",
"super_globals": true,
"close_on_stop": true
}
*.sublime-project
{
"folders":
[
{
"path": "..."
}
],
"settings":
{
"xdebug": {
"path_mapping": {
"/absolute/path/to/file/on/server" : "/absolute/path/to/file/on/computer",
"/var/www/htdocs/example/" : "C:/git/websites/example/"
},
"url": "http://your.web.server/index.php",
"super_globals": true,
"close_on_stop": true
}
}
}
故障排除
我能同时安装SublimeTextXdebug和SublimeXdebug吗?
不行。安装这两个包可能会引起冲突,因为它们可能都监听同一个端口以接收调试器引擎的响应,并且有类似的快捷键映射。
但是(项目)设置来自SublimeXdebug与SublimeTextXdebug兼容。
我如何开始一个调试会话?
SublimeTextXdebug可以通过使用配置的URL和参数XDEBUG_SESSION_START
或XDEBUG_SESSION_STOP
来启动或停止调试会话,该参数使用配置的IDE键作为值。默认IDE键是sublime.xdebug
。
如果您没有配置URL,则插件仍然会监听来自Xdebug的调试连接,但您需要通过Xdebug 触发远程会话。
如果您想从命令行启动调试会话,在运行脚本之前,您需要将环境变量<强>XDEBUG_CONFIG强>设置为IDE键。
Windows
set XDEBUG_CONFIG="idekey=sublime.xdebug"
php myscript.php
UNIX
export XDEBUG_CONFIG="idekey=sublime.xdebug"
php myscript.php
确保在定义环境变量之前,您已切换到适当的用户环境。
例如,您会将环境变量设置为<强>guest强>,并以<强>root强>(sudo)的身份执行脚本,然后<强>root强>将不会具有由<强>guest强>定义的环境变量XDEBUG_CONFIG。
我如何设置断点和/或观察表达式?
使用SublimeTextXdebug,您可以轻松地添加/删除断点,这些断点会在会话开始时发送。
或设置/编辑/删除观察表达式,这些表达式将在当前执行上下文中评估。
设置条件断点或观察表达式相当简单,就像PHP中的<强>if强>语句。
例如,您只想在<强>$number强>的值为<强>13强>时停止断点,则您的<强>断点条件强>为$number==13
。
另一个例子是,如果您想在每次中断时知道<强>$item['image']强>的值,则您的<强>观察表达式强>为$item['image']
。
另一种方法是在PHP代码中使用以下函数<强>http://xdebug.org/docs/remote#xdebug_break强>xdebug_break()
设置断点。
如何配置或禁用异常中断?
默认情况下,会在以下异常名称的每个上挂起调试会话的执行:* <强>“致命错误”强> - E_ERROR、E_CORE_ERROR、E_COMPILE_ERROR、E_USER_ERROR * <强>“可捕获致命错误”强> - E_RECOVERABLE_ERROR (自PHP 5.2.0以来) * <强>“警告”强> - E_WARNING、E_CORE_WARNING、E_COMPILE_WARNING、E_USER_WARNING * <强>“解析错误”强> - E_PARSE * <强>“注意”强> - E_NOTICE、E_USER_NOTICE * <强>“严格标准”强> - E_STRICT * <强>“已弃用”强> - E_DEPRECATED、E_USER_DEPRECATED (自PHP 5.3.0以来) * <强>“Xdebug”强> * <强>“未知错误”强>
为了指定哪些异常名称会导致调试会话执行挂起,请使用上面显示的列表配置break_on_exception
设置,并提供所需的具体异常名称列表。
也可以指定自定义异常,而不是所有的异常(“致命错误”)。例如,如果您配置为“MissingArgumentException”而不是“Fatal error”,它不会在“InvalidParameterException”上中断。
要禁用异常中断,可以配置空列表break_on_exception: []
或设置为break_on_exception: false
。
如何自定义/禁用调试布局?
在Sublime Text中根据自己的喜好调整布局,然后在终端(按Ctrl+`)输入window.get_layout()
并将该值设置为您的debug_layout
。
可以通过将Xdebug视图分配到具有breakpoint_group
、breakpoint_index
、context_group
、context_index
、stack_group
、stack_index
、watch_group
、watch_index
设置的组/索引来进一步自定义。
或者您可以通过设置disable_layout: true
来禁用调试布局,这将打开所有Xdebug视图在会话开始时在当前活动组/窗口中,并且不会改变您的布局。
如何解决ImportError
?
较老的Sublime Text版本没有捆绑Python,并依赖于您的系统Python安装。
一些系统不包括该包所需的特定模块,例如pyexpat。
将python_path
设置更改为您的系统上Python安装的路径,这可以是更新的版本或包含所有必需模块的版本。例如:"python_path" : "/usr/lib/python2.7"
。
当您遇到任何问题时该怎么办?
首先检查以下可能的解决方案,以解决任何问题
- 在您的
path_mapping
设置中使用绝对路径,Xdebug不会返回符号链接。 - 断点在一个空行,Xdebug不会停在空行上。
- 将
port
和xdebug.remote_port
设置为不同的端口(9001),默认端口9000可能已被其他应用程序使用。 - 向您的防火墙添加对Sublime Text(plugin_host.exe)的异常,Xdebug的响应可能会被防火墙阻止。
- 降低
max_data
/max_depth
/max_children
设置以增加响应速度或防止崩溃,Xdebug可能会返回太多数据以处理。 - 更改Sublime Text及其包在文件系统中的权限,Sublime Text或包可能没有有效的权限。
如果您仍然遇到问题,请创建一个问题,包括以下数据
- 您使用的是哪个操作系统和Sublime Text的哪个版本?
- 您是如何安装SublimeTextXdebug、Package Control、git克隆还是下载的?
- 您是否正在尝试通过浏览器或命令行在远程或本地调试脚本?
- 您拥有哪个版本的Xdebug扩展?
- 您能否发布您的项目/设置文件和服务器上*.ini文件中的Xdebug配置?
- 终端窗口(按Ctrl+`)是否显示有关错误的更多信息?
许可
SublimeTextXdebug在MIT许可下发布。