NAME
    Catalyst::Plugin::StackTrace - Display a stack trace on the debug screen

SYNOPSIS
        use Catalyst qw/-Debug StackTrace/;

DESCRIPTION
    This plugin will enhance the standard Catalyst debug screen by including
    a stack trace of your appliation up to the point where the error
    occurred. Each stack frame is displayed along with the package name,
    line number, file name, and code context surrounding the line number.

    This plugin is only active in -Debug mode.

CONFIGURATION
    Configuration is optional and is specified in
    MyApp->config->{stacktrace}.

  context
    The number of context lines of code to display on either side of the
    stack frame line. Defaults to 3.

  verbose
    This option sets the amount of stack frames you want to see in the stack
    trace. It defaults to 0, meaning only frames from your application's
    namespace are shown. You can use levels 1 and 2 for deeper debugging.

    If set to 1, the stack trace will include frames from packages outside
    of your application's namespace, but not from most of the Catalyst
    internals. Packages ignored at this level include:

        Catalyst
        Catalyst::Action
        Catalyst::Base
        Catalyst::Dispatcher
        Catalyst::Engine::*
        Catalyst::Plugin::StackTrace
        Catalyst::Plugin::Static::Simple
        NEXT
        main

    If set to 2, the stack trace will include frames from everything except
    this module.

INTERNAL METHODS
    The following methods are extended by this plugin.

    execute
        In execute, we create a local die handler to generate the stack
        trace.

    finalize_error
        In finalize_error, we inject the stack trace HTML into the debug
        screen below the error message.

    setup

SEE ALSO
    Catalyst

AUTHORS
    Andy Grundman, <andy@hybridized.org>

    Matt S. Trout, <mst@shadowcatsystems.co.uk>

THANKS
    The authors of CGI::Application::Plugin::DebugScreen, from which a lot
    of code was used.

COPYRIGHT
    This program is free software, you can redistribute it and/or modify it
    under the same terms as Perl itself.

