zoukankan      html  css  js  c++  java
  • Ecplise + Xdebug 一波三折终于能单步调试了

    http://my.oschina.net/012345678/blog/152889

    Ecplise + Xdebug 一波三折终于能单步调试了

    发表于2年前(2013-08-15 15:50)   阅读(1260) | 评论(0) 14人收藏此文章, 我要收藏
    0

    寻找 会’偷懒’的开发者线下公开课,报名即享受免费体验云主机

    php Version 5.2.13

    apache  2.2

    Xdebug  2.1.2 VC6 32bit

    eclipsePHP 官网的

    以上全部下载齐全,保证版本正确。

    1:将下载的Xdebug文件复制到安装php文件的ext文件下

    2:设置phpini文件,支持Xdebug, 在最后添加

    [Xdebug]
    zend_extension_ts="D:/Program Files/php-5.2.13-Win32/ext/php_xdebug-2.1.2-5.2-vc6.dll"
    ;开启自动跟踪
    xdebug.auto_trace=1
    ;开启异常跟踪
    xdebug.show_exception_trace=1
    ;开启远程调试自动启动
    xdebug.remote_autostart=1
    ;开启远程调试
    xdebug.remote_enable=1

    xdebug.collect_params=On
    xdebug.collect_return=On
    ;设定函数调用监测信息的输出文件的路径。
    xdebug.trace_output_dir="d:xdebug"
    ;打开效能监测器。
    xdebug.profiler_enable=On  
    ;设定效能监测信息输出文件的路径。
    xdebug.profiler_output_dir="d:xdebug" 
    xdebug.max_nesting_level=2000
    xdebug.remote_host=localhost 
    xdebug.remote_port=9000 
    xdebug.remote_handler=dbgp

    3:设置Eclipse,

    window - preferences 下图:





    4:继续如下图:




    5:网上从没有介绍的关键点来了,下几张图很重要

    点击,如下:

    再点击,如下:

    重点来了,1处可以任意填写  2处填写时注意,要和你apache  httpd.conf中,下图红色箭头处一致,

    在eclipse里新建一个项目叫php:

    如下图;

    同时php下新建一个index.php,在浏览器访问www.test.com,就能看到index.php里的内容了(以上注意两点,第一,我们这里叫php,后面要用到,第二,项目的路径要和DocumentRoot D:/workspace/Test中一致)

    现在只要不用Xdebug是没问题的,浏览器正常浏览,直接www.test.com就行。

    现在Xdebug,在index.php中打个断点,鼠标右键,DebugAS -> Debug Web Page->图:

    现在点击OK,会报404,根本访问不了,断点也不能用,仔细看LunchURL会发现是http://www.test.com//php/index.php,换成绝对路径就是D:/workspace/Test/php/index.php,而电脑上根本没有这个地址,index.php实际地址是D:/workspace/Test/index.php,所以我们只要把php去掉,让成为正确的url地址就可以了,或者把建项目的时候一开始就叫Test,这样变成D:/workspace/Test/Test/index.php,再把 httpd.conf改成<VirtualHost *:80>
                            ServerAdmin admin@t.com
                            DocumentRoot D:/workspace
                            ServerName www.test.com
                            <Directory "D:/workspace">
                            AllowOverride All
                            </Directory>
                            </VirtualHost>

    重启apache,现在www.test.com 就是D:/workspace,点击右键debug时,你会发现urL变成了www.test.com/Test/index.php,换成绝对路径就是D:/workspace//Test/index.php,这个地址是存在的。

    总结,之所以不能Xdebug是因为路径问题,而这些路径的在debug时,拼接有误造成的,你可以到

    这个小虫子的菜单,debug  configrations里看下,你会发现奥秘的:如下图:

  • 相关阅读:
    redis原理及实现
    RabbitMQ原理介绍
    我的mongoDb之旅(二)
    我的mongoDb之旅(一)
    PHP服务器Apache与Nginx的对比分析
    后端技术杂谈11:十分钟理解Kubernetes核心概念
    后端技术杂谈10:Docker 核心技术与实现原理
    后端技术杂谈9:先搞懂Docker核心概念吧
    后端技术杂谈8:OpenStack架构设计
    后端技术杂谈7:OpenStack的基石KVM
  • 原文地址:https://www.cnblogs.com/u0mo5/p/4596904.html
Copyright © 2011-2022 走看看