The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Client module - the client module for the GUI or CLI client

VERSION

version 1.000

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.