PHPSTROM中xdebug调试配置和基本使用

2021-03-16 10:47:29 浏览数 (1)

0x0 前言

当我们进行代码审计的时候,必不可少的就是debug。为了后面更加方便清晰的解释漏洞产生的原因和执行流程。特作此篇帮助像我一样的小白更好的学习!

xdebug介绍:Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况

0x1 配置环境&所需工具

  • PHPSTROM
    • 一款强大的IDE(集成开发环境 Integrated Development Environment )
    • 下载地址:https://www.jetbrains.com/zh-cn/phpstorm/promo/
  • phpstudy2018
    • PHP调试环境的程序集成包,对我这种新手来说极其友好
    • php版本:5.4.45-nts apache
    • 下载地址:https://www.xp.cn/download.html
  • xdebug插件-firefox
    • 我也不知道why,我这边虚拟机中chrome安装这个插件是无法使用的,所以这篇文章就用firefox浏览器进行演示。当然,你也可以通过chrome浏览器进行安装,步骤都是一样的。
    • 下载地址:https://addons.mozilla.org/en-US/firefox/addon/xdebug-helper-for-firefox/

0x2 安装过程

phpstrom, phpstudy安装就不演示了,基本都是下一步下一步(傻瓜式操作)

1.配置站点

添加虚拟目录站点

修改本地host文件,cmd执行ipconfig /flushdns(刷新dns缓存)

测试一下是否能正常解析

2.配置xdebug

这里有两种方式安装扩展,首先说一下我用的方式

代码语言:javascript复制
XDebug]
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir="C:phpStudyPHPTutorialtmpxdebug"
xdebug.trace_output_dir="C:phpStudyPHPTutorialtmpxdebug"
xdebug.profiler_output_name = "cache.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
# 下面三行

zend_extension = "C:phpStudyPHPTutorialphpphp-5.4.45-ntsextphp_xdebug.dll"            # 使用自带的
xdebug.remote_autostart=1 
xdebug.remote_enable = On
xdebug.remote_port = 2333           # 修改端口,防止冲突
xdebug.idekey="PHPSTORM"

修改完配置文件,记得重启

网上的多数教程的方式

复制phpinfo()的内容,进入https://xdebug.org/wizard,将刚才复制的内容拷贝进去分析,然后就可以得到当前php版本对应的xdebug文件

查看xdebug是否安装成功
方法1
代码语言:javascript复制
# phpinfo.php
<?php phpinfo();?>
方法2
代码语言:javascript复制
.php.exe -m

3.配置phpstorm

a.设置php解释器

php解释器,就是php的执行程序,在安装目录下有个php.exe

ctrl alt s

b.配置xdebug选项
c.配置DBGp Proxy
d.配置服务器端的信息
e. 添加调试配置

填写相关信息

4. 配置浏览器

安装浏览器插件

访问https://addons.mozilla.org/en-US/firefox/addon/xdebug-helper-for-firefox/

进入扩展选项

0x3.调试基本使用

调试窗口各个区域

调试快捷键

  • F7 通过当前行,进入下一行,如果该行是方法,则进入方法体
  • F8 通过当前行,进入下一行,如果该行是方法,也直接进入下一行,不进入方法体
  • F9 通过整个流程,全部顺序执行

0 人点赞