我正在为我的 PHP 应用程序使用 netbeans 设置 xdebug,托管在本地 xampp 安装(Windows 7)上
根据 netbeans / xdebug 文档,安装和命令行测试成功并正常工作。但是,当我在代码中添加断点时,无论我将它放在代码中的什么位置,它都会显示为“损坏的”断点。当我运行带有调试器的应用程序时,它无法在这些断点处停止。
我已经做了很多搜索,但没有找到一个很好的解释,有人有建议吗?
谢谢
解决方案1:
您需要在项目源代码和 Xdebug 输出之间配置正确的映射。你可以在这里做:
Project Window -> right click on project name -> Properties -> Run Configuration -> Advanced -> Path mapping
解决方案2:
如果 xdebug 配置正确,请检查 php 信息。您可以通过空 php 文件中的 phpinfo() 检查它并在浏览器中运行它:
<?php
phpinfo();
尝试去找:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
然后在 php.ini 中(您可以在 phpinfo() 中检查该字段的位置,添加以下部分:
[xdebug]
xdebug.remote_enable = On
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/xamp/tmp"
xdebug.remote_handler=dbgp
xdebug.remote_port=9100
xdebug.remote_host=localhost
(确保此目录 c:/xamp/tmp 是否存在)
然后在netbeans中:
Tools -> Options -> PHP -> Debugging
设置:调试器端口:9100 并选择“Stop at First Line”
保存它并调试它现在应该可以正常工作的应用程序。