line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
# -*- coding: utf-8 -*- |
2
|
|
|
|
|
|
|
# Copyright (C) 2011-2012, 2014 Rocky Bernstein <rocky@cpan.org> |
3
|
12
|
|
|
12
|
|
120
|
use warnings; no warnings 'redefine'; |
|
12
|
|
|
12
|
|
26
|
|
|
12
|
|
|
1
|
|
388
|
|
|
12
|
|
|
1
|
|
76
|
|
|
12
|
|
|
|
|
24
|
|
|
12
|
|
|
|
|
357
|
|
|
1
|
|
|
|
|
8
|
|
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
22
|
|
|
1
|
|
|
|
|
4
|
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
26
|
|
4
|
12
|
|
|
12
|
|
64
|
use rlib '../../../..'; |
|
12
|
|
|
1
|
|
28
|
|
|
12
|
|
|
|
|
69
|
|
|
1
|
|
|
|
|
5
|
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
3
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
package Devel::Trepan::CmdProcessor::Command::Show; |
7
|
|
|
|
|
|
|
|
8
|
12
|
|
|
12
|
|
4641
|
use if !@ISA, Devel::Trepan::CmdProcessor::Command::Subcmd::SubMgr; |
|
12
|
|
|
1
|
|
29
|
|
|
12
|
|
|
|
|
95
|
|
|
1
|
|
|
|
|
336
|
|
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
7
|
|
9
|
12
|
|
|
12
|
|
747
|
use if !@ISA, Devel::Trepan::CmdProcessor::Command; |
|
12
|
|
|
1
|
|
28
|
|
|
12
|
|
|
|
|
45
|
|
|
1
|
|
|
|
|
35
|
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
4
|
|
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
unless (@ISA) { |
12
|
12
|
|
|
12
|
|
74
|
eval <<'EOE'; |
|
12
|
|
|
12
|
|
28
|
|
|
12
|
|
|
12
|
|
652
|
|
|
12
|
|
|
12
|
|
69
|
|
|
12
|
|
|
12
|
|
25
|
|
|
12
|
|
|
|
|
513
|
|
|
12
|
|
|
|
|
62
|
|
|
12
|
|
|
|
|
28
|
|
|
12
|
|
|
|
|
569
|
|
|
12
|
|
|
|
|
73
|
|
|
12
|
|
|
|
|
40
|
|
|
12
|
|
|
|
|
569
|
|
|
12
|
|
|
|
|
79
|
|
|
12
|
|
|
|
|
33
|
|
|
12
|
|
|
|
|
560
|
|
13
|
|
|
|
|
|
|
use constant CATEGORY => 'status'; |
14
|
|
|
|
|
|
|
use constant SHORT_HELP => 'Show parts of the debugger environment'; |
15
|
|
|
|
|
|
|
use constant MIN_ARGS => 0; # Need at least this many |
16
|
|
|
|
|
|
|
use constant MAX_ARGS => undef; # Need at most this many - undef -> unlimited. |
17
|
|
|
|
|
|
|
use constant NEED_STACK => 0; |
18
|
|
|
|
|
|
|
EOE |
19
|
|
|
|
|
|
|
} |
20
|
|
|
|
|
|
|
|
21
|
12
|
|
|
12
|
|
2052
|
use strict; |
|
12
|
|
|
1
|
|
30
|
|
|
12
|
|
|
|
|
359
|
|
|
1
|
|
|
|
|
57
|
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
20
|
|
22
|
12
|
|
|
12
|
|
71
|
use vars qw(@ISA); |
|
12
|
|
|
1
|
|
26
|
|
|
12
|
|
|
|
|
706
|
|
|
1
|
|
|
|
|
6
|
|
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
51
|
|
23
|
|
|
|
|
|
|
@ISA = qw(Devel::Trepan::CmdProcessor::Command::SubcmdMgr); |
24
|
12
|
|
|
12
|
|
77
|
use vars @CMD_VARS; |
|
12
|
|
|
1
|
|
29
|
|
|
12
|
|
|
|
|
3792
|
|
|
1
|
|
|
|
|
6
|
|
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
269
|
|
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
our $NAME = set_name(); |
27
|
|
|
|
|
|
|
=pod |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
=head2 Synopsis: |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
=cut |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
our $HELP = <<'HELP'; |
34
|
|
|
|
|
|
|
=pod |
35
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
B<show> [I<show sub-commmand> ...] |
37
|
|
|
|
|
|
|
|
38
|
|
|
|
|
|
|
Generic command for showing things about the debugger. You can |
39
|
|
|
|
|
|
|
give unique prefix of the name of a subcommand to get information |
40
|
|
|
|
|
|
|
about just that subcommand. |
41
|
|
|
|
|
|
|
|
42
|
|
|
|
|
|
|
Type C<show> for a list of show subcommands and what they do. |
43
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
Type C<help show *> for a list of C<show> subcommands. |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
=head2 See also: |
47
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
L<C<show abbrev>|Devel::Trepan::CmdProcessor::Command::Show::Abbrev>, |
49
|
|
|
|
|
|
|
L<C<show aliases>|Devel::Trepan::CmdProcessor::Command::Show::Aliases>, |
50
|
|
|
|
|
|
|
L<C<show args>|Devel::Trepan::CmdProcessor::Command::Show::args>, |
51
|
|
|
|
|
|
|
L<C<show auto>|Devel::Trepan::CmdProcessor::Command::Show::Auto>, |
52
|
|
|
|
|
|
|
L<C<show basename>|Devel::Trepan::CmdProcessor::Command::Show::Basename>, |
53
|
|
|
|
|
|
|
L<C<show confirm>|Devel::Trepan::CmdProcessor::Command::Show::Confirm>, |
54
|
|
|
|
|
|
|
L<C<show debug>|Devel::Trepan::CmdProcessor::Command::Show::Debug>, |
55
|
|
|
|
|
|
|
L<C<show different>|Devel::Trepan::CmdProcessor::Command::Show::Different>, |
56
|
|
|
|
|
|
|
L<C<show display>|Devel::Trepan::CmdProcessor::Command::Show::Display>, |
57
|
|
|
|
|
|
|
L<C<show highlight>|Devel::Trepan::CmdProcessor::Command::Show::Highlight>, |
58
|
|
|
|
|
|
|
L<C<show interactive>|Devel::Trepan::CmdProcessor::Command::Show::Interactive>, |
59
|
|
|
|
|
|
|
L<C<show max>|Devel::Trepan::CmdProcessor::Command::Show::Max>, |
60
|
|
|
|
|
|
|
L<C<show timer>|Devel::Trepan::CmdProcessor::Command::Show::Timer>, |
61
|
|
|
|
|
|
|
L<C<show trace>|Devel::Trepan::CmdProcessor::Command::Show::Trace>, and |
62
|
|
|
|
|
|
|
L<C<show version>|Devel::Trepan::CmdProcessor::Command::Show::Version> |
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
=cut |
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
HELP |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
sub run($$) |
69
|
|
|
|
|
|
|
{ |
70
|
0
|
|
|
0
|
0
|
|
my ($self, $args) = @_; |
|
0
|
|
|
0
|
0
|
|
|
71
|
0
|
|
|
|
|
|
my $first; |
|
0
|
|
|
|
|
|
|
72
|
0
|
0
|
|
|
|
|
if (scalar @$args > 1) { |
|
0
|
0
|
|
|
|
|
|
73
|
0
|
|
|
|
|
|
$first = lc $args->[1]; |
|
0
|
|
|
|
|
|
|
74
|
0
|
|
|
|
|
|
my $alen = length('auto'); |
|
0
|
|
|
|
|
|
|
75
|
0
|
0
|
0
|
|
|
|
splice(@$args, 1, 1, ('auto', substr($first, $alen))) if |
|
0
|
0
|
0
|
|
|
|
|
76
|
|
|
|
|
|
|
index($first, 'auto') == 0 && length($first) > $alen; |
77
|
|
|
|
|
|
|
} |
78
|
0
|
|
|
|
|
|
$self->SUPER::run($args); |
|
0
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
} |
80
|
|
|
|
|
|
|
|
81
|
|
|
|
|
|
|
unless (caller) { |
82
|
|
|
|
|
|
|
require Devel::Trepan::CmdProcessor; |
83
|
|
|
|
|
|
|
my $proc = Devel::Trepan::CmdProcessor->new(undef, 'bogus'); |
84
|
|
|
|
|
|
|
my $cmd = __PACKAGE__->new($proc, $NAME); |
85
|
|
|
|
|
|
|
# require_relative '../mock' |
86
|
|
|
|
|
|
|
# dbgr, cmd = MockDebugger::setup |
87
|
|
|
|
|
|
|
$cmd->run([$NAME]) |
88
|
|
|
|
|
|
|
} |
89
|
|
|
|
|
|
|
|
90
|
|
|
|
|
|
|
1; |