Netbeans中的Xdebug:不停在"web root"父文件夹中的文件内的断点处

Tom*_*lio 2 netbeans xdebug

我有一个netbeans项目,其目录树如下:

<source folder>
|
|---> gui <web root folder>
|      |
|      L---> datos.php
|
L---> index.php
Run Code Online (Sandbox Code Playgroud)

datos.php将工作目录更改为..(源文件夹)并包含index.php,如下所示:

chdir('..');
require 'index.php';
Run Code Online (Sandbox Code Playgroud)

如果我在datos.php中放置一个断点,调试器会正确地打破它,但是当在index.php中放入一个断点时,它会忽略它.

奇怪的是6个月前我遇到了同样的问题,我能够解决它.现在我不知道它为什么停止工作以及我当时做了什么来修复它.

更多信息:

xdebug日志显示以下用于断点设置的命令:

breakpoint_set -i 315 -t line -s enabled -f file:///Users/tomasgirardi/NetBeansProjects/datamed/index.php -n 51
breakpoint_set -i 316 -t line -s enabled -f file:///Users/tomasgirardi/NetBeansProjects/datamed/gui/datos.php -n 39 
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,xdebug以state ="enabled"响应

如果我手动调试,我可以使用以下命令设置断点,它的工作原理如下:

breakpoint_set -i 315 -t line -s enabled -f file:///../index.php -n 51
Run Code Online (Sandbox Code Playgroud)

但我不知道怎样才能使netbeans发出带有相同file:///../index.php参数的breakpoint_set命令而不是file:///Users/tomasgirardi/NetBeansProjects/datamed/index.php或任何其他方式我可以使这项工作.

在此先感谢您的帮助!

Vic*_*tor 8

你总是可以尝试使用xdebug_break();

例如 :

<?php
    for ( $i=1, $j=0; $i<10; $i++) { 
        xdebug_break();
        echo "<br>Line $i";   // will stop here
    }
?> 
Run Code Online (Sandbox Code Playgroud)

将在以下行中添加断点.

希望有所帮助......