如何调试没有错误消息的错误? [英] How do I debug errors that have no error message?
问题描述
如何调试没有错误消息的错误?
How do I debug errors that have no error message?
在加载PHP页面时,我在Firefox中收到此错误.
When loading a PHP page I am getting this error in Firefox.
The connection to the server was reset while the page was loading.
除了显示Apache崩溃之外,没有给出任何其他原因.
It gives no indication as to why other than it appears to be Apache crashing.
Apache错误日志显示:
Apache error logs shows:
[Wed Nov 03 10:23:04 2010] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Wed Nov 03 10:23:06 2010] [notice] Digest: generating secret for digest authentication ...
[Wed Nov 03 10:23:06 2010] [notice] Digest: done
[Wed Nov 03 10:23:06 2010] [notice] Apache/2.2.14 (Win32) DAV/2 mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Wed Nov 03 10:23:06 2010] [notice] Server built: Nov 11 2009 14:29:03
[Wed Nov 03 10:23:06 2010] [notice] Parent: Created child process 5100
[Wed Nov 03 10:23:07 2010] [notice] Digest: generating secret for digest authentication ...
[Wed Nov 03 10:23:07 2010] [notice] Digest: done
[Wed Nov 03 10:23:07 2010] [notice] Child 5100: Child process is running
[Wed Nov 03 10:23:07 2010] [notice] Child 5100: Acquired the start mutex.
[Wed Nov 03 10:23:07 2010] [notice] Child 5100: Starting 150 worker threads.
[Wed Nov 03 10:23:07 2010] [notice] Child 5100: Starting thread to listen on port 80.
[Wed Nov 03 10:23:07 2010] [notice] Child 5100: Starting thread to listen on port 80.
我尝试搜索3221225477代码,但没有发现任何有效的方法.
I tried searching the 3221225477 code but found nothing that worked.
Windows事件查看器也显示以下内容:
Also the Windows Event Viewer shows this:
Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4aeb9704
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b06c41d
Exception code: 0xc0000005
Fault offset: 0x00082391
Faulting process id: 0x8f4
Faulting application start time: 0x01cb7b85fa74bf83
Faulting application path: C:\xampp\apache\bin\httpd.exe
Faulting module path: C:\xampp\php\php5ts.dll
Report Id: 73996201-e779-11df-938f-e0cb4e5b154a
这是在我打电话时发生的:
This is happening when I call:
return mysql_fetch_object($result, $class_name);
当我使用$_SESSION
如果我改用CGI代替php5ts.dll
和php5apache2_2.dll
,我会得到:
If I switch to using CGI instead of the php5ts.dll
and php5apache2_2.dll
I get:
Premature end of script headers: php-cgi.exe
它仅在某些页面上发生.其他人工作正常.
Its is only happening for some pages. Others work fine.
- 没有PHP错误或异常发生.错误报告设置为
E_ALL & ~E_NOTICE & ~E_DEPRECATED
.display_errors
已打开. - 超时设置为60秒,大约10秒后返回错误页面.
- 内存使用量约为16MB,最大限制为256MB.
- PHP 5.3.1,Windows 7 64位.
- No PHP errors or exceptions occur. Error reporting is set to
E_ALL & ~E_NOTICE & ~E_DEPRECATED
.display_errors
is on. - Timeout is set to 60 seconds, the error page is returned in about 10 seconds.
- The memory usage gets about 16MB, the maximum limit is 256MB.
- PHP 5.3.1, Windows 7 64bit.
那么有人知道如何有效地调试此错误吗?
So does anyone know how to effectively debug this error?
推荐答案
好的,您可以先阅读生成Backtrace" 并搜索与您类似的已注册PHP错误报告,如果您真的没有找到,请提交错误.如果您真的有兴趣,可以检查 PHP来源并提出补丁.
Well, you can start by reading "Generating a Backtrace" and searching for registered PHP bug reports similar to you, and submitting a bug if you've really found none. If you are really interested, you can inspect the PHP Source and propose a patch.
这篇关于如何调试没有错误消息的错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!