2011-03-25 60 views

回答

0

我不知道如何使用gdb做,but this could be usefull

index.php 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 

,我想XDebug可以幫助你進一步

+0

所鏈接的頁面是順便說一句的第一個結果google搜索「的Drupal wsod」當... :) – Berdir 2011-03-25 09:18:56

+0

...幷包含所有解決99%wsod問題的信息;) – Strae 2011-03-25 09:21:01

+0

是的,除了像我這樣做並且意外地在模塊中的某個地方留下一個exit()調用;) – Berdir 2011-03-25 09:24:53

-1

該錯誤是最有可能在你的Web服務器錯誤日誌。先看那裏。

+0

如果這是一個分段錯誤,如後文所述,錯誤日誌根本不會有用。 – ceejayoz 2011-03-28 17:59:42

2

在極端的情況下,我最終使用Linux strace,但我主要是在問題涉及內部問題(如標題,堆棧問題和崩潰)時這樣做的。

更多的PHP方式是使用xdebug,因爲它專門用於PHP。

要使用GDB,請像使用GDB下的任何其他程序一樣使用。如果你不能得到那麼多,我敢肯定,你實際上不會在實際使用GDB方面做得太遠。

哦,這裏有一個生命的保護PHP代碼片段:

function the_end(){ 
    if(($err=error_get_last())) 
     die('<pre>'.print_r($err,true).'</pre>'); 
} 
register_shutdown_function('the_end'); 

注1:如果你處理的服務器崩潰,有一個很好的機會,上述將無法正常工作。雖然這很少見。

注2:如果register_shutdown_function已經在其他地方使用,一定要重複一遍,以保證最終執行,例如:

function my_other_final_function(){ /* ... */ } 
register_shutdown_function('my_final_function'); 

function the_end(){ /* ... */ } 
function the_end2(){ register_shutdown_function('the_end'); } 
register_shutdown_function('the_end2'); 
0

我試圖設置的display_errors真正針對沒有工作現場爲了我。 但幸運的是我沒有去調試,問題是我已經創建的視圖。

謝謝大家