VSCode+Xdebug2.9断点调试PHP

第一步 php_xdebug扩展安装

  1. 通过 phpinfo() 打印本地 PHP版本信息
  2. 可以直接去 https://xdebug.org/download 下载扩展 或者 复制本地版本信息 粘贴到 https://xdebug.org/wizard 点击Analyse后下载
  3. 下载扩展并放到扩展目录
  4. 修改 php.ini 的配置 加载xdebug扩展 并配置xdebug
  5. [xdebug]
    zend_extension=php_xdebug_32.dll
    ;断点调试
    ;远程调试
    xdebug.remote_enable=On
    ;开启远程调试自动启动
    xdebug.remote_autostart=1
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host=localhost
    xdebug.remote_port=9001
    xdebug.remote_timeout = 200
    ;启用代码自动跟踪
    xdebug.auto_trace=on 
    ;收集变量
    xdebug.collect_vars=On 
    ;收集返回值
    xdebug.collect_return=On 
    ;收集参数
    xdebug.collect_params=On 
    xdebug.idekey=vscode
    xdebug.remote_log="D:\phpStudy\PHPTutorial\tmp\xdebug\xdebug.log"
    
    ;性能分析
    xdebug.profiler_enable=On ;启用性能检测分析
    ;指定堆栈跟踪文件的存放目录
    xdebug.trace_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug\trace"
    ;xdebug.trace_output_dir="/tmp/xdebug_profiler" 
    ;指定性能分析文件的存放目录
    xdebug.profiler_output_dir="D:\phpStudy\PHPTutorial\tmp\xdebug\profile"
    xdebug.profiler_output_name="cachegrind.out.%p"
    xdebug.profiler_enable_trigger=1

     

  6. 重启web服务器

第二部 VsCode配置

  1. 下载并安装vscode: https://code.visualstudio.com/ 
  2. 打开vscode 先安装中文插件(方便浏览编辑器 搜索chinese即可) 然后再安装debug插件;
  3. 截图有误  只用装php Debug就可以了

第三步 配置调试

  1. 加载本地项目到工作区域[文件-将文件添加到工作区]
  2. 打开调试的文件
  3. 点击vscode左边的调试栏[快捷键 ctrl+shift+D] 
  4. 新增调试配置文件
  5. 有两个运行方式,第一个是监听调试,F5后需要浏览器访问;第二个是调试当前脚本,F5之后直接调试不需要浏览器访问脚本

  6. 下好断点,按F5开启调试 然后浏览器访问项目 再返回vscode 就可以根据自身需求进行调试了

调试介绍:

   F5[继续]            从A断点调到B断点 无论AB断点中间有多少段代码

  F10[单步跳过]     从断点A开始一行一行代码的走 但是不走调用的内部 比如 A func() B 不进入func的内部

 F11[ 单步调试]     从断点A开始一行一行代码的走 且走调用的内部 比如 A func() B 进入func的内部 一行一行调试

         单步跳出     从A断点调到B断点 无论AB断点中间有多少段代码

### 配置与使用 VSCodeXDebug 进行断点调试VSCode 中通过 Cursor 使用 XDebug 进行断点调试的过程涉及多个步骤,主要包括安装必要的扩展、配置环境变量以及理解调试工具的功能。以下是详细的说明: #### 安装和配置 XDebug 扩展 为了实现断点调试功能,首先需要确保已经正确安装并启用了 XDebug 扩展。可以通过以下方式验证其状态: - 将 PHP 的配置信息导出并通过 `https://xdebug.org/wizard.php` 工具生成适合的 XDebug 配置文件[^4]。 #### 设置断点 在目标代码位置设置断点是启动调试的第一步。具体操作如下: - 在 VSCode 编辑器左侧的 gutter 区域(即行号旁边)点击以添加断点。 - 当断点被触发时,程序会在该行暂停执行,允许开发者进一步分析当前上下文的状态[^3]。 #### 启动调试会话 一旦设置了断点,就可以按照以下流程启动调试过程: - **Show Execution Point (Alt + F10)**:当光标不在实际执行的位置时,此命令可以帮助快速跳转到当前正在运行的具体代码行[^1]。 - 开始调试前,在浏览器访问对应的目标 URL 或者 API 接口地址来激活远程脚本加载机制。 - 返回 VSCode 平台等待连接建立成功后自动进入断点处继续后续动作。 #### 控制程序流 利用不同的指令控制应用程序的行为走向对于有效率地排查问题是至关重要的技能之一。下面列举了一些常用的导航选项及其作用描述: - **Step Over (F8)**:逐行前进但忽略内部细节处理部分,适用于简单逻辑判断场景下的逐步探索需求; - **Step Into (F7)**:深入探究特定函数体内的运作原理,尤其针对自定义业务封装单元测试很有帮助价值; - **Force Step Into (Alt + Shift + F7)**:即使面对框架核心组件也能强行穿透保护层直达源码层面做更深层次的研究工作; - **Step Out (Shift + F8)**:迅速脱离嵌套层次结构回到上级调用现场以便观察整体效果变化趋势. 此外还有其他辅助手段如评估表达式的即时反馈能力(**Evaluate Expression**)可用于动态调整参数取值范围从而缩小查找可疑区域边界条件等等。 ```php // 示例代码片段展示如何结合上述技巧定位潜在缺陷所在之处 function calculate($a, $b){ if ($a === null || $b===null){ // 可在此处设断点检查输入合法性 throw new Exception('Invalid arguments'); } return $a * pow($b ,2); // 假设有意制造错误便于演示目的 } try{ echo calculate(null,5); }catch(Exception $e){ var_dump($e->getMessage()); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值