NAME
Eidolon::Debug - Eidolon debugging facility.
SYNOPSIS
In CGI/FCGI gateway of your application (index.cgi
/index.fcgi
) write:
use Eidolon::Debug;
DESCRIPTION
The Eidolon::Debug package provides an easy way to avoid a confusing Internal Server Error web server message. It sends HTTP header before displaying an error, so you don't need to dig web-server's log to find the cause of the error anymore. Obviously, it will do nothing if error is in your web-server configuration, so if Internal Server Error message still remains, check your web-server configuration. Also, this package displays a stack trace when application dies. It is very useful in application development, so Eidolon::Debug is included in applications by default.
This package doesn't depend on any other Eidolon package, so you can use it outside Eidolon applications too.
While used, Eidolon::Debug hooks global die
and warn
subroutines, so be careful using other packages, that modify or depend on $SIG{"__DIE__"}
and $SIG{"__WARN__"}
handlers.
METHODS
start_console()
Start a javascript debugging console. Prints a minimal HTTP header and javascript code, so further error and warning messages could be displayed in nice-looking form.
get_stack()
Get subroutine call stack. Returns reference to array of hashrefs, each hashref stands for one level of the call stack. This hashref contains the following data:
package
Package name, where error has been occured.
file
File name, where error has been occured.
line
Line number, which caused program to die.
sub
Subroutine name, where error has been occured.
print_stack($stack)
Prints the call stack in nice preformatted table. $stack
- reference to array of call stack hashrefs (result, returned by get_stack()
subroutine).
warn($message)
Custom warning handler. $message
- warning message to be displayed.
die($message)
Custom error handler. $message
- error message to be displayed.
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Anton Belousov, <abel@cpan.org>
COPYRIGHT
Copyright (c) 2009, Atma 7, http://www.atma7.com