PHP调试(使用PHPStorm + Xdebug)

 

1. 调试概述

PHPStorm可以实现的调试功能:
[1] PHP中添加断点.
[2] HTML 和 JavaScript 中添加断点.
[3] 多个同步会话调试.
[4] 可定制的断点调试属性 : conditions(条件), pass count(通过统计)等等.
[5] 调试界面中包括 Frames, variables, 和 监控视图 views .
[6] 运行可执行的表达式.
[7] 支持 Xdebug 和 Zend Debugger 调试.

 

 

 

 

2. 调试步骤


[1] 首先选择你要使用的调试引擎: Xdebug 或者 Zend Debugger
     选择好引擎, 安装并配置调试引擎.
[2] 调试 CoffeeScript, TypeScript, 和 Dart code, 你需要生成一个源代码映射map. 这将设置原始代码和生成的JavaScript代码中的行之间的对应关系。 如果未生成源映射,则无法正确识别和处理断点.

[3] 根据你的debug模式, 定义一个 run/debug 配置.
[4] 在源代码中添加断点.
[5] 在 PHP 会话中发起一个调试会话.
[6] Pause中断或 resume 这个调试会话.
[7] 在调试会话期间, step单步进入断点, evaluate执行表达式, 即时更改值检查暂停程序,并设置监视.
[8] 在你开始调试会话后, 调试图标会变绿 暗示你调试被激活.
[9] 如果你想查看当前所有的调试应用程序, 
    主菜单选择 Run | Show Running List

 

 

 

 

 

 

3. 使用调试 

在你为你的代码配置好调试后, 在调试模式中你能使用 Shift+F9 发起调试.
在“debug”工具窗口中,您可以看到包含状态,变量和监视的框架和线程列表。 选择框架时,您会看到与所选框架对应的变量.

十分有用的调试快捷键:
切换断点 : Ctrl+F8
恢复程序: F9
Step over(跳过): F8 (有的是shift + F8 反正我的是
Step into(单步进入): F7
Stop(停止): Ctrl+F2
查看断点详细信息/所有断点: Ctrl+Shift+F8
在插入符号上调试代码: Shift+F9 (e.g 如果你留在主要方法) 或者 Shift+Alt+F9

 

 

 

 

 

 

4. 设置断点 

[1] 设置断点细节和条件
如果你想改变断点的细节, 按住 Ctrl+Shift+F8. 这里你就能指定断点的条件.
如果您有任何标有标签的实例,您也可以在条件表达式中使用它:

[2] 活动断点
如果您想要在特定代码行执行某些内容而不实际停止,则另一个操作可能很有用。 您可以使用Action断点来完成此操作。 要创建一个,只需在点击左侧设置断点所在行的侧边行首栏并按住shift 就会自动弹出设置框

[3] 临时断点
要创建仅停止一次的断点,请在点击左侧设置断点所在行的侧边行首栏并按住 Shift+Alt

[4] 禁用断点 
点击左侧设置断点所在行的侧边行首栏并按住 alt

 

 

 

 

 

 

5. 会话调试器

[1] 下拉调试框
如果你想在调试时“回到过去”,可以通过Drop Frame动作完成。 如果你错误地走得太远,这将是一个很大的帮助。 这不会还原您的应用程序的全局状态,但至少会通过堆栈框架返回。

[2] 运行到光标所在行 
有时你需要恢复程序并停在另一行代码中,而不需要添加另一个断点 按住 Alt+F9

[3] 标记实例
如果希望在调试时始终识别特定实例,可以通过F11或“ Variables和 Watches”选项卡中的上下文菜单使用彩色标签进行标记。下次此实例出现在Watches,Variables或Evaluate表达式中时,您将看到标签


[4] 执行表达式 
在调试模式期间 你可以执行任何表达式 通过按 Alt+F8
此工具提供代码完成,就像在编辑器中一样,因此输入任何表达式都非常容易,
如果您有任何标有标签的实例,代码完成将为您提供其名称,以便您可以执行它们。

 

 

 

 

 

6. 重要快捷键

F7 单步调试
shift + F8 | F8 : 跳出嵌套函数
alt + F8 : 执行表达式
alt + F9 : 运行到光标所在行
F9 : 恢复程序
ctrl + F2 : 停止

 

 

 

Ctrl+Shift+F8 : 查看所有断点

 

原文来源地址:PHPstorm帮助文档

7. 安装配置

7.1. 安装Xdebug

 下载地址:xdebug

 安装可参照: xdebug的安装

 不过,配置可能不需要这么多,我本地的配置如下

zend_extension = "F:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
;
[xdebug]
xdebug.auto_trace=on
xdebug.remote_enable = on
xdebug.show_local_vars=0
xdebug.remote_enable =1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1

xdebug.remote_mode = req
xdebug.remote_port = 9000
xdebug.idekey=PHPSTORM

7.2  给浏览器Chrome安装 Xdebug-helper插件

插件下载地址: xdebug-helper

如果界面不是如下界面,可能需要更新成最新版本

配置:

PHP调试(使用PHPStorm + Xdebug)_第1张图片

7.3 配置phpStorm的debug参数

【1】点击 run --> edit Configurations

PHP调试(使用PHPStorm + Xdebug)_第2张图片

【2】点击 ‘+’选择 PHP Remote Debug

PHP调试(使用PHPStorm + Xdebug)_第3张图片

【3】输入配置的名称 Name

        勾选 filter by IDE key 

        填写IDE key : PHPSTORM

        点击 Server 右边的选择

PHP调试(使用PHPStorm + Xdebug)_第4张图片

【4】 点击 + 

          输入服务名称

          输入对应的 配置host域名

          输入端口号 选择 debugger 引擎 xdebug

           点击应用 apply 点击 ok

PHP调试(使用PHPStorm + Xdebug)_第5张图片

 

【5】 回到 【3】 点击应用 apply 点击ok

7.4 开始调试

【1】点击页面 右上角 下拉框 选择刚刚配置的 debug名称 

【2】在代码所在行 左侧行首 点击添加断点

【3】点击右上角 绿色运行 按钮

PHP调试(使用PHPStorm + Xdebug)_第6张图片

【4】打开 chrome浏览器 点击 图标 选中为 debug

PHP调试(使用PHPStorm + Xdebug)_第7张图片

【5】浏览器访问程序对应的页面 ,调试开始。。。。

7.5 命令行下的调试

a. 选择PHP Script

b. 填写执行的PHP文件绝对路径 File 和 参数 Arguments

c. 点击 apply

d. 点击 ok

e. 这里注意 只能点击 运行按钮 右侧的 debug 小蜘蛛 才有用,直接点击运行 会直接跳过断点

PHP调试(使用PHPStorm + Xdebug)_第8张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(PHP)