我可以在PHP中生成中断吗?(INT 3,用于停止调试器)

我可以在PHP中生成中断吗?(INT 3,用于停止调试器),php,debugging,interrupt,Php,Debugging,Interrupt,在英特尔平台上,中断3将停止调试器,如果不在调试器中执行,则不会产生任何效果 我在我的C/C++程序中广泛使用它,因为清除所有断点不会影响它 我想在PHP异常和错误处理程序中使用它。这样,我就可以插入它&忘掉它。然后,我可以根据我正在测试的内容添加和删除断点,而不会影响这些中断,并且确保如果我的代码遇到与此类中断相关的问题,IDE将始终停止 可以这样做吗?xdebug\u break()是您所需要的,但是为了使用,您需要正确设置xdebug调试器 从xdebug: bool xdebug\u b

在英特尔平台上,中断3将停止调试器,如果不在调试器中执行,则不会产生任何效果

我在我的C/C++程序中广泛使用它,因为清除所有断点不会影响它

我想在PHP异常和错误处理程序中使用它。这样,我就可以插入它&忘掉它。然后,我可以根据我正在测试的内容添加和删除断点,而不会影响这些中断,并且确保如果我的代码遇到与此类中断相关的问题,IDE将始终停止

可以这样做吗?

xdebug\u break()是您所需要的,但是为了使用,您需要正确设置xdebug调试器

从xdebug:

bool xdebug\u break()
向调试客户端发出断点


简短的回答是否定的。PHP代码没有编译成可执行代码,因为PHP5.6有一个内置的phpdbg交互式调试器。我从未使用过它,但是,如果可以做到这一点,这可能是您首先需要检查的。当然,Xdebug是第三方扩展,通常不会安装在生产服务器上,因此您不能在代码中调用
Xdebug\u break()
,然后忘记它。同意(+1)。但我总是能把它包起来。我已经在获取主机名的基础上做了一些事情&检查
localhost
(因为我甚至不想依赖一个常量,我可能会忘记设置)。这看起来确实是一个很好的解决方案me@Mawg没关系。我的印象是,您需要更类似于C/C++技术的东西,即对生产没有任何影响的东西。不要忘记换行,否则代码将抛出
致命错误:调用未定义的函数xdebug_break()
;-)我可以把它包装成一个函数,但是,正如你所说的,对一个不做任何事情的函数的调用将影响produciton代码。我可以接受,因为它只存在于错误分支中。