2011-03-15 139 views
0

我在試圖調試一個似乎錯誤地將我的一個消費者錯誤的PHP事務的頭。在插入新消息之前,我可以通過GREPING流程列表來檢測我的客戶是否正在運行,但無法知道之前的內容以及導致致命錯誤的原因。ActiveMQ/Stomp當一條消息禁用消費者時調試

我的PHP消費大致是:

while($isRunning == true) { 
    try{ 
    if($frame = $this->stomp->readFrame()) { 
     $body = $frame->body; 
     $this->stomp->ack($frame); 
    } 
    } catch(StompException $e) { 
    $msg = 'Stomp Monitor readFrame() Callback Fail: '.$e->getMessage(); 
    error_log($msg); 
    } 
} 

有沒有辦法趕上致命錯誤或任何會破壞它的無限循環?

謝謝你,史蒂夫

回答

0

嘗試設置頂級exception handler

也許有你不捕獲異常。抓住它並記錄下來,以便知道過程爲何會死亡。

+0

我目前正在做一個set_error_handler。所以你說異常處理程序會更好地捕獲標準try/catch不會捕獲的大多數錯誤(致命錯誤)? – daxiang28 2011-03-20 19:41:50