Sublime如何实现断点调试代码 Sublime开启Debug模式常用操作【调试】

梦萱同学_7813

梦萱同学_7813

2026-04-16

259人浏览

原创

sublime text 本身不带调试功能,需通过debugger插件作为dap客户端连接外部调试适配器;配置关键在于正确放置.sublime-debugger文件、匹配debugpy版本(推荐1.6.7)、指定python绝对路径、对齐php的pathmappings及确保xdebug.mode=debug。

sublime如何实现断点调试代码 sublime开启debug模式常用操作【调试】

Sublime Text 本身不带 Debug 模式,所谓“开启 Debug 模式”其实是配置调试器插件并让它与外部调试适配器(如 debugpy、xdebug、vscode-js-debug)通信——不是 Sublime 自己在跑调试逻辑,它只是个 DAP 客户端。

Debugger 插件不工作?先确认它是否真在监听

装完 Debugger 插件后,状态栏右下角没出现 Debugger: Python 或 Debugger: PHP,说明配置根本没加载。常见原因:

  • .sublime-debugger 文件名写错(必须带点,不能叫 launch.json 或 debug.json)
  • 文件放在了错误位置:必须在项目根目录,或用户 Packages 目录下(Preferences → Browse Packages 可定位)
  • JSON 格式非法:Windows 路径里单反斜杠 会静默破坏解析,得用 / 或 \
  • 顶层不是 "configurations": [] 数组,或者某个配置缺了 "type"、"request"、"name"

Python 断点不命中?大概率是 debugpy 版本或路径不对

Debugger 依赖 debugpy 后端,但不是所有版本都兼容。2026 年主流稳定组合是 debugpy==1.6.7(pip install debugpy==1.6.7)。

爱图表
爱图表

一款AI驱动的在线图表创作工具,可根据数据和表达需求辅助生成可视化图表,帮助用户更高效地展示和分析信息。

下载
  • 别用 debugpy>=1.8:默认启用新协议,旧版 Debugger 插件握手失败,日志里会报 Protocol mismatch
  • "python" 字段必须填绝对路径,比如 /opt/homebrew/bin/python3,不能只写 python —— Sublime 启动时通常不继承 shell 的 PATH
  • virtualenv 环境下,路径必须是激活后的解释器全路径,否则断点加载失败,变量显示 undefined

PHP 断点一直灰?pathMappings 和 xdebug.mode 是关键

断点变灰色 = Debugger 认为“这个文件不在运行路径里”,90% 是 pathMappings 左右两边没对齐。

  • 左边必须是 PHP 实际执行时看到的绝对路径,比如 Docker 容器里是 /var/www/html/,就填这个,不是宿主机路径
  • 右边用 ${folder} 表示当前项目根目录,确保 Sublime 打开的是整个项目文件夹,不是单个 .php 文件
  • Xdebug 3.x 必须设 xdebug.mode=debug,旧配置如 xdebug.remote_enable=1 会被忽略
  • 端口默认是 9003,改过就得同步改 "port": 9003,且确保 xdebug.client_port=9003 一致

按下 F5 没反应?你可能卡在“等连接”阶段

Debugger 不主动发起调试,它只监听。F5 启动后,它就在等 debugpy 或 xdebug 主动连过来。所以:

  • Python:要么提前在终端运行 python -m debugpy --listen 5678 --wait-for-client,再按 F5;要么在配置里加 "preLaunchTask" 触发
  • PHP:必须用浏览器访问带参数的 URL,比如 http://localhost/index.php?XDEBUG_SESSION_START=1,或装 Xdebug Helper 插件点虫子图标
  • 检查端口是否被占:lsof -i :5678(macOS/Linux)或 netstat -ano | findstr :9003(Windows)
  • Windows 防火墙常默默拦截 9003,临时关掉试试

最易被忽略的点:Sublime 启动方式决定它能否读到你的环境变量和 php.ini。从 Dock 或开始菜单点开的 Sublime,和从终端执行 subl . 启动的,加载的 PATH 和配置可能完全不同——断点失效却查不出原因,往往就卡在这里。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

20

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

20

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

20

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

20

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

20

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

20

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

100

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

20

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程