首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于drupal页面的WSOD。如何使用gdb进行调试?

用于drupal页面的WSOD。如何使用gdb进行调试?
EN

Stack Overflow用户
提问于 2011-03-25 15:50:52
回答 4查看 401关注 0票数 0

我在我的Drupal站点上有一个WSOD (白屏死亡),用于单个用户的单个页面。我了解到这是由于分割错误造成的。我找不到错误在哪里??如何使用gdb调试PHP代码?

EN

回答 4

Stack Overflow用户

发布于 2011-03-26 09:18:06

在极端情况下,我最终会使用Linux strace,但我主要是在问题涉及内部问题(如标题、堆栈问题和崩溃)时这样做。

更具PHP风格的方式是使用xdebug,因为它是专门针对PHP的。

要使用GDB,请像在GDB下使用的任何其他程序一样使用。如果您不能做到这一点,我敢肯定您在实际使用GDB时也不会走得太远。

哦,这是一个救命的PHP代码片段:

代码语言:javascript
复制
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已经在别处使用,请务必重复,以确保最终执行,示例:

代码语言:javascript
复制
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');
票数 2
EN

Stack Overflow用户

发布于 2011-03-25 16:02:23

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

代码语言:javascript
复制
index.php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

我想XDebug可以进一步帮助你

票数 0
EN

Stack Overflow用户

发布于 2011-03-29 01:48:39

我试图为网站设置display_errors为真,但这对我不起作用。但幸运的是,我没有去调试,问题是我创建的视图。

谢谢大家

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5429833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档