所以基本上我使用Zend Framework的自动加载器来自动加载我的功能。但是因为每当我调试时,如果我调用任何函数,xdebug会转到自动加载函数,然后再转到正在调用的实际函数。
因此,如果我调用函数func()
,它将首先转到autoload()
,然后转到func()
,这会增加调试成本,等等。
理想情况下,如果我调用func(),它应该在仍然使用自动加载器时直接转到func()。
有没有办法在我调试时指定xdebug(或使用任何PHP / Zend hack等)来总是跳过某个函数(在本例中是我的自动加载函数)?
答案 0 :(得分:6)
在偏好中使用pdt进行eclipse: PHP - >调试 - >步骤过滤 单击添加过滤器,我添加了Autoloader.inc,不再需要通过它
有关更多直观说明,请参阅step_filtering_preferences
答案 1 :(得分:1)
如果你单步执行代码,那么你真的应该考虑使用断点。如果在调查的代码块的开头设置断点,则可以使用“run to breakpoint”选项跳过在调查代码之前运行的所有代码。
如果在要调查的类的构造函数的开头设置断点,或者如果确定对象实例化正常,则要调查方法的开头,则可以跳过自动装载器。
Netbeans和Eclipse PDT都支持设置断点,只需单击要调查的代码的行号即可。
此外,调试器中还有“跳出”选项,可让您跳出使用“步入”选项跳转到的功能/方法。如果您发现自己在自动加载器中,请立即退出。
答案 2 :(得分:1)