我在我的 Drupal 站点中为单个用户的单个页面获得了 WSOD(死屏白屏)。我了解到这是由于分段错误。我无法发现错误在哪里??如何使用 gdb 调试我的 PHP 代码???
问问题
402 次
4 回答
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');
于 2011-03-26T01:18:06.163 回答
0
我试图为对我不起作用的网站设置 display_errors true。但幸运的是,我不必进行调试,问题在于我创建的视图。
谢谢你们
于 2011-03-28T17:48:38.907 回答
-1
该错误很可能出现在您的 Web 服务器错误日志中。先看看那里。
于 2011-03-26T00:59:57.993 回答