Changeset 9695
- Timestamp:
- 12/14/09 05:50:38 (2 years ago)
- Location:
- trunk/Padre
- Files:
-
- 5 edited
-
Changes (modified) (1 diff)
-
Makefile.PL (modified) (1 diff)
-
lib/Padre/Action/Run.pm (modified) (1 diff)
-
lib/Padre/Wx/Main.pm (modified) (3 diffs)
-
lib/Padre/Wx/Menu/Run.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Padre/Changes
r9677 r9695 2 2 3 3 0.53 To Be Released 4 - Add initial version of a debugger using Debug::Client (SZABGAB) 5 4 6 5 7 0.52 2009.12.14 -
trunk/Padre/Makefile.PL
r9586 r9695 65 65 requires 'DBD::SQLite' => '1.10'; 66 66 requires 'DBI' => '1.58'; 67 requires 'Debug::Client' => '0.06'; 67 68 requires 'Devel::Dumpvar' => '0.04'; 68 69 requires 'Devel::Refactor' => '0.05'; -
trunk/Padre/lib/Padre/Action/Run.pm
r9685 r9695 140 140 ); 141 141 142 143 144 Padre::Action->new( 145 name => 'debug.run_document', 146 need_editor => 1, 147 need_runable => 1, 148 need_file => 1, 149 label => Wx::gettext('Start Debugger (Debug::Client)'), 150 comment => Wx::gettext( 'Run the current document through the Debug::Client.' ), 151 #shortcut => 'Shift-F5', 152 need_editor => 1, 153 menu_event => sub { 154 $_[0]->debug_perl; 155 }, 156 ); 157 158 Padre::Action->new( 159 name => 'debug.step_in', 160 need_editor => 1, 161 need_runable => 1, 162 need_file => 1, 163 label => Wx::gettext('Debugger Step In'), 164 comment => Wx::gettext( 'Run the current document through the Debug::Client.' ), 165 #shortcut => 'Shift-F5', 166 need_editor => 1, 167 menu_event => sub { 168 $_[0]->debug_perl_step_in; 169 }, 170 ); 171 172 Padre::Action->new( 173 name => 'debug.evaluate_expression', 174 need_editor => 1, 175 need_runable => 1, 176 need_file => 1, 177 label => Wx::gettext('Debugger Evaluate Expression'), 178 comment => Wx::gettext( 'Run the current document through the Debug::Client.' ), 179 #shortcut => 'Shift-F5', 180 need_editor => 1, 181 menu_event => sub { 182 $_[0]->debug_perl_evaluate_expression; 183 }, 184 ); 185 186 Padre::Action->new( 187 name => 'debug.quit', 188 need_editor => 1, 189 need_runable => 1, 190 need_file => 1, 191 label => Wx::gettext('Quit Debugger'), 192 comment => Wx::gettext( 'Run the current document through the Debug::Client.' ), 193 #shortcut => 'Shift-F5', 194 need_editor => 1, 195 menu_event => sub { 196 $_[0]->debug_perl_quit; 197 }, 198 ); 199 200 201 142 202 return $self; 143 203 } -
trunk/Padre/lib/Padre/Wx/Main.pm
r9685 r9695 1892 1892 my $self = shift; 1893 1893 my $document = $self->current->document; 1894 unless ( $document->isa('Perl::Document::Perl') ) { 1894 1895 unless ( $document->isa('Padre::Document::Perl') ) { 1895 1896 return $self->error( Wx::gettext("Not a Perl document") ); 1896 1897 } … … 1916 1917 # Set up the debugger 1917 1918 my $host = 'localhost'; 1918 my $port = 12345 ;1919 my $port = 12345 + int rand(1000); # TODO make this configurable? 1919 1920 1920 1921 # $self->_setup_debugger($host, $port); … … 1924 1925 my $perl = Padre::Perl::cperl(); 1925 1926 $self->run_command(qq["$perl" -d "$filename"]); 1926 1927 1928 require Debug::Client; 1929 my $debugger = Debug::Client->new(host => $host, port => $port); 1930 $debugger->listen; 1931 $self->{_debugger_} = $debugger; 1932 my $out = $debugger->get; 1933 print $out; 1934 # $self->show_output(1); 1935 # $self->output->clear; 1936 # $self->output->AppendText($out); 1937 1938 return; 1939 } 1940 1941 1942 sub debug_perl_quit { 1943 my $self = shift; 1944 return if not $self->{_debugger_}; 1945 1946 print scalar $self->{_debugger_}->quit; 1947 delete $self->{_debugger_}; 1948 1949 return; 1950 } 1951 1952 sub debug_perl_step_in { 1953 my $self = shift; 1954 return if not $self->{_debugger_}; 1955 1956 print scalar $self->{_debugger_}->step_in; 1957 1958 return; 1959 } 1960 1961 sub debug_perl_evaluate_expression { 1962 my $self = shift; 1963 return if not $self->{_debugger_}; 1964 1965 my $expression = $self->prompt( 1966 Wx::gettext("Expression:"), 1967 Wx::gettext("Expr"), 1968 "EVAL_EXPRESSION" 1969 ); 1970 print scalar $self->{_debugger_}->execute_code($expression); 1971 1972 return; 1927 1973 } 1928 1974 -
trunk/Padre/lib/Padre/Wx/Menu/Run.pm
r9685 r9695 59 59 $self, 60 60 'run.run_this_test', 61 ); 62 63 $self->AppendSeparator; 64 65 $self->{debug_start} = $self->add_menu_action( 66 $self, 67 'debug.run_document', 68 ); 69 $self->{debug_step_in} = $self->add_menu_action( 70 $self, 71 'debug.step_in', 72 ); 73 74 $self->{debug_step_in} = $self->add_menu_action( 75 $self, 76 'debug.evaluate_expression', 77 ); 78 79 $self->{debug_quit} = $self->add_menu_action( 80 $self, 81 'debug.quit', 61 82 ); 62 83
Note: See TracChangeset
for help on using the changeset viewer.
