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

Devel::Debug::Server

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.