2013-08-03 26 views
2

我是使用magento的xdebug的新手。当我在第一行放置断点时,它在index.php中断,并继续正常工作。但是当我想测试登录功能或菜单导航时,我将断点放在“class Mage_Page_Block_Html_Topmenu extends Mage_Core_Block_Template”上,但它并没有停在这里并继续。所以我必须在哪里保持突破点?我需要在.phtml文件中放置点吗?我不确定我必须放置在哪里。所以任何人都可以帮助我用magento进行调试。如何在eclipse中使用Xdebug调试magento文件

+0

它应该没有什么区别你放置断点的文件。 Xdebug可以在每个执行php代码的文件中使用。我认为你的xdebug配置有问题,或者你的断点代码没有执行。尝试把你自己的index.php放入一个看看它是否被触发。 –

+0

@SimonH如果我在index.php中放置断点,则代码执行将停止在该点,并且只在按F5按钮时继续执行。它工作到index.php并继续mage.php。停止调试后。 –

+0

听起来像xdebug设置正确。对于非日食用户:F5是用于进入。如果没有发现异常,应该会看到更多的文件。您的浏览器在debbuging完成后会显示什么内容? –

回答

2

如果你只是想使用xdebug,我很抱歉这个答案!

你不会在xdebug上有太大的成功,因为从我的角度来看,它的工作很慢。我会建议使用

Mage::log($var)Mage::logException($var)

,只是做了

tail -f on var/log/system.logtail -f on var/log/exception.log

Varien_Object类上,你可以使用类似Mage::log($product->debug())的东西来减少日志输出。正如你可能知道你想要调试的代码的位置,这也许是最好的做法。

请确保您在Magento中启用了调试输出。

+0

所以不能用eclipse调试我们的magento应用程序? –

+0

当然可以。以防万一被Magento异常处理程序捕获的异常。但是没有什么意义,因为你永远不会逐步完成框架流程,而是在某个类或文件中进行调试。所以Mage :: log绰绰有余,速度更快。 –

+0

是的,xdebug大幅减慢了你的应用程序。但是它可以被配置为仅在需要时使用php.ini中的'xdebug.profiler_enable_trigger = 1'来激活。我没有使用eclipse,所以我不知道它是否可以使用。 –