NAME
Client module - the client module for the GUI or CLI client
VERSION
version 1.001
METHODS
refreshData
return all data necessary to display a debugger screen. This contains :
* the breakpoints list ('effectiveBreakpoints' key)
* the informations for all processe ('processesInfo' key)
An exemple data structure will be as follows :
HASH
'effectiveBreakpoints' => HASH
'/path/to/my/source/file.pl' => HASH #here are the breakpoints for this file
11 => 13
13 => 13
9 => 9
'processesInfo' => HASH
8603 => HASH #below are the informations for process 9603
'fileContent' => ARRAY #here is the source code of current file
0 'use strict;'
1 'use warnings;'
2 'use Time::HiRes qw(usleep nanosleep);'
3 ''
4 '#this dummy script is just a test program to manipulate with the debugger'
5 ''
6 'sub dummySubroutine($){'
7 ' my ($value) = @_;'
8 ' return $value++;'
9 '}'
'fileName' => '/path/to/my/scriptToDebug.pl' #name of current source file
'finished' => 0 #if 1, program is finished
'halted' => 1 #if 1, program is haltes, can set brekpoints
#or inspect variables
'lastEvalCommand' => '' #last command that was executed with "eval"
'lastEvalResult' => '' #result of the last "eval" command
'line' => 13 #current line in the source file
'name' => undef
'package' => 'main' #current package name
'pid' => 8603 #pid
'result' => undef
'stackTrace' => ARRAY #stack trace
empty array
'subroutine' => 'main' #subroutine name
'variables' => HASH #variables list
empty hash
8607 => HASH "and so on for next process..."
'fileContent' => ARRAY
....
step
step($pid) : send the step command to the processus of pid $pid Return the debug informations
breakpoint
breakpoint($file,$line) : set breakpoint in $file at $line
removeBreakPoint
removeBreakPoint($file,$line)
run
run() : continue program execution until breakpoint
suspend
suspend the running process
return
return($pid,$returnedValue) : cause script of pid $pid to return of current subroutine. Optionnaly you can specify the value returned with $returnedValue.
eval
eval($pid,$expression) : eval perl code contained into $expression in the script of pid $pid. The result will be send later into the lastEvalResult
key of the data structure of refreshDate
SEE ALSO
AUTHOR
Jean-Christian HASSLER <hasslerjeanchristian at gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Jean-Christian HASSLER.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.