是否可以将调试器附加到正在运行的PHP进程?

是否可以将调试器附加到正在运行的PHP进程?,php,debugging,dump,Php,Debugging,Dump,我有一个PHP脚本,我们通过cron条目每隔几分钟运行一次,偶尔(大约每周一次)它会保持运行,而不是正常结束,消耗掉100%的CPU核心(我假设是无限循环) 查看代码并“思考”它,我找不到发生这种情况的任何原因,但确实如此。到目前为止,当我得到3个或更多的,我杀死他们,这解决了CPU的问题,但我想做一些关于这个 有没有办法转储进程,或者用调试器附加到进程上,这样我就可以知道它在做什么?(它在哪一行PHP上会有很大帮助)。我不介意在我转储时进程是否终止,或者其他什么 这是一个PHP脚本,在Cent

我有一个PHP脚本,我们通过cron条目每隔几分钟运行一次,偶尔(大约每周一次)它会保持运行,而不是正常结束,消耗掉100%的CPU核心(我假设是无限循环)

查看代码并“思考”它,我找不到发生这种情况的任何原因,但确实如此。到目前为止,当我得到3个或更多的,我杀死他们,这解决了CPU的问题,但我想做一些关于这个

有没有办法转储进程,或者用调试器附加到进程上,这样我就可以知道它在做什么?(它在哪一行PHP上会有很大帮助)。我不介意在我转储时进程是否终止,或者其他什么

这是一个PHP脚本,在CentOS 5.6机器上从命令行运行,对于*nix,我是个大傻瓜,所以如果你能给我介绍一些关于傻瓜的教程,那就太棒了

谢谢大家!!
Daniel

我不知道如何将调试器附加到没有专门准备PHP调试扩展(如xdebug)的PHP进程。但是,您可以使用更通用的实用程序
strace
,对正在进行的操作进行一些猜测,该实用程序可以提供进程正在运行的系统调用的跟踪。这只会告诉您正在执行哪些系统调用,但这可能足以(取决于上下文)确定到底发生了什么。

是的:(但这可能不是您正在寻找的调试器)。