Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Catalyst::Plugin::StackTrace.3pm
CommitLineData
3fea05b9 1.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.10)
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sp \" Vertical space (when we can't use .PP)
6.if t .sp .5v
7.if n .sp
8..
9.de Vb \" Begin verbatim text
10.ft CW
11.nf
12.ne \\$1
13..
14.de Ve \" End verbatim text
15.ft R
16.fi
17..
18.\" Set up some character translations and predefined strings. \*(-- will
19.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20.\" double quote, and \*(R" will give a right double quote. \*(C+ will
21.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23.\" nothing in troff, for use with C<>.
24.tr \(*W-
25.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26.ie n \{\
27. ds -- \(*W-
28. ds PI pi
29. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31. ds L" ""
32. ds R" ""
33. ds C` ""
34. ds C' ""
35'br\}
36.el\{\
37. ds -- \|\(em\|
38. ds PI \(*p
39. ds L" ``
40. ds R" ''
41'br\}
42.\"
43.\" Escape single quotes in literal strings from groff's Unicode transform.
44.ie \n(.g .ds Aq \(aq
45.el .ds Aq '
46.\"
47.\" If the F register is turned on, we'll generate index entries on stderr for
48.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49.\" entries marked with X<> in POD. Of course, you'll have to process the
50.\" output yourself in some meaningful fashion.
51.ie \nF \{\
52. de IX
53. tm Index:\\$1\t\\n%\t"\\$2"
54..
55. nr % 0
56. rr F
57.\}
58.el \{\
59. de IX
60..
61.\}
62.\"
63.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64.\" Fear. Run. Save yourself. No user-serviceable parts.
65. \" fudge factors for nroff and troff
66.if n \{\
67. ds #H 0
68. ds #V .8m
69. ds #F .3m
70. ds #[ \f1
71. ds #] \fP
72.\}
73.if t \{\
74. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75. ds #V .6m
76. ds #F 0
77. ds #[ \&
78. ds #] \&
79.\}
80. \" simple accents for nroff and troff
81.if n \{\
82. ds ' \&
83. ds ` \&
84. ds ^ \&
85. ds , \&
86. ds ~ ~
87. ds /
88.\}
89.if t \{\
90. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96.\}
97. \" troff and (daisy-wheel) nroff accents
98.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105.ds ae a\h'-(\w'a'u*4/10)'e
106.ds Ae A\h'-(\w'A'u*4/10)'E
107. \" corrections for vroff
108.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110. \" for low resolution devices (crt and lpr)
111.if \n(.H>23 .if \n(.V>19 \
112\{\
113. ds : e
114. ds 8 ss
115. ds o a
116. ds d- d\h'-1'\(ga
117. ds D- D\h'-1'\(hy
118. ds th \o'bp'
119. ds Th \o'LP'
120. ds ae ae
121. ds Ae AE
122.\}
123.rm #[ #] #H #V #F C
124.\" ========================================================================
125.\"
126.IX Title "Catalyst::Plugin::StackTrace 3"
127.TH Catalyst::Plugin::StackTrace 3 "2009-10-18" "perl v5.8.7" "User Contributed Perl Documentation"
128.\" For nroff, turn off justification. Always turn off hyphenation; it makes
129.\" way too many mistakes in technical documents.
130.if n .ad l
131.nh
132.SH "NAME"
133Catalyst::Plugin::StackTrace \- Display a stack trace on the debug screen
134.SH "SYNOPSIS"
135.IX Header "SYNOPSIS"
136.Vb 1
137\& use Catalyst qw/\-Debug StackTrace/;
138.Ve
139.SH "DESCRIPTION"
140.IX Header "DESCRIPTION"
141This plugin will enhance the standard Catalyst debug screen by including
142a stack trace of your appliation up to the point where the error occurred.
143Each stack frame is displayed along with the package name, line number, file
144name, and code context surrounding the line number.
145.PP
146This plugin is only active in \-Debug mode by default, but can be enabled by
147setting the \f(CW\*(C`enable\*(C'\fR config option.
148.SH "CONFIGURATION"
149.IX Header "CONFIGURATION"
150Configuration is optional and is specified in MyApp\->config\->{stacktrace}.
151.SS "enable"
152.IX Subsection "enable"
153Allows you forcibly enable or disalbe this plugin, ignoring the current
154debug setting. If this option is defined, its value will be used.
155.SS "context"
156.IX Subsection "context"
157The number of context lines of code to display on either side of the stack
158frame line. Defaults to 3.
159.SS "reverse"
160.IX Subsection "reverse"
161By default, the stack frames are shown in from \*(L"top\*(R" to \*(L"bottom\*(R"
162(newest to oldest). Enabling this option reverses the stack frames so they will
163be displayed \*(L"bottom\*(R" to \*(L"top\*(R", or from the callers perspective.
164.SS "verbose"
165.IX Subsection "verbose"
166This option sets the amount of stack frames you want to see in the stack
167trace. It defaults to 0, meaning only frames from your application's
168namespace are shown. You can use levels 1 and 2 for deeper debugging.
169.PP
170If set to 1, the stack trace will include frames from packages outside of
171your application's namespace, but not from most of the Catalyst internals.
172Packages ignored at this level include:
173.PP
174.Vb 9
175\& Catalyst
176\& Catalyst::Action
177\& Catalyst::Base
178\& Catalyst::Dispatcher
179\& Catalyst::Engine::*
180\& Catalyst::Plugin::StackTrace
181\& Catalyst::Plugin::Static::Simple
182\& NEXT
183\& main
184.Ve
185.PP
186If set to 2, the stack trace will include frames from everything except this
187module.
188.SH "INTERNAL METHODS"
189.IX Header "INTERNAL METHODS"
190The following methods are extended by this plugin.
191.IP "execute" 4
192.IX Item "execute"
193In execute, we create a local die handler to generate the stack trace.
194.IP "finalize_error" 4
195.IX Item "finalize_error"
196In finalize_error, we inject the stack trace \s-1HTML\s0 into the debug screen below
197the error message.
198.IP "setup" 4
199.IX Item "setup"
200.SH "SEE ALSO"
201.IX Header "SEE ALSO"
202Catalyst
203.SH "AUTHORS"
204.IX Header "AUTHORS"
205Andy Grundman, <andy@hybridized.org>
206.PP
207Matt S. Trout, <mst@shadowcatsystems.co.uk>
208.SH "THANKS"
209.IX Header "THANKS"
210The authors of CGI::Application::Plugin::DebugScreen, from which a lot of
211code was used.
212.SH "COPYRIGHT"
213.IX Header "COPYRIGHT"
214Copyright (c) 2005 \- 2009
215the Catalyst::Plugin::StackTrace \*(L"\s-1AUTHORS\s0\*(R"
216as listed above.
217.SH "LICENSE"
218.IX Header "LICENSE"
219This program is free software, you can redistribute it and/or modify it
220under the same terms as Perl itself.