Client module - the client module for the GUI or CLI client
version 1.000
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($pid) : send the step command to the processus of pid $pid Return the debug informations
breakpoint($file,$line) : set breakpoint in $file at $line
removeBreakPoint($file,$line)
run() : continue program execution until breakpoint
suspend the running process
return($pid,$returnedValue) : cause script of pid $pid to return of current subroutine. Optionnaly you can specify the value returned with $returnedValue.
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
lastEvalResult
Devel::Debug::Server
Jean-Christian HASSLER <hasslerjeanchristian at gmail.com>
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.
To install Devel::Debug::Server, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::Debug::Server
CPAN shell
perl -MCPAN -e shell install Devel::Debug::Server
For more information on module installation, please visit the detailed CPAN module installation guide.