2011-09-30 12 views
7

私はcronエントリで数分おきに実行するPHPスクリプトを用意しています。通常は終了するのではなく、毎週(約1週間に1回)、CPUコアの100%を食べています無限にループすると仮定します)実行中のPHPプロセスにデバッガを接続することはできますか?

コードを見て、それについて考えると、私はこれが起こる理由を見つけることができません。これまでに3つ以上のものを取得したときにそれらを削除してCPUの問題を解決しましたが、これについて何かしたいと思います...

プロセスをダンプする方法はありますかデバッガでそれを確認できるように何か何か何をやっているのですか? (ちょうどそれはPHPの行は、大きな助けになるだろう)。私がダンプするときにプロセスが死ぬかどうかは気にしない。

これはCentOS 5.6マシンでコマンドラインから実行されるPHPスクリプトです。* nixに関しては大きな騒ぎですので、私にダミーについてのチュートリアルを教えることができれば素晴らしい。

ありがとうございました! ダニエル

+1

はい:http://dirac.org/linux/gdb/06-Debugging_A_Running_Process.phpです(しかし、これはあなたが探しているデバッガではないかもしれません)。 – hakre

答えて

3

特に、PHPデバッグ拡張機能(xdebugなど)で準備されていないPHPプロセスにデバッガを接続する方法はありません。しかし、より汎用的なユーティリティstraceを使って何が起こっているのかを推測することができます。これは、プロセスによって実行されているシステムコールのトレースを提供することができます。これは、どのシステムコールが実行されているかを示すだけですが、これは(状況に応じて)何が起きているのかを判断するのに十分かもしれません。

関連する問題