NAME
Devel::GDB::LowLevel - Low-level interface for communicating with GDB
DESCRIPTION
This module is used internally by Devel::GDB. It handles the low-level I/O of communicating with the GDB process.
CONSTRUCTOR
- new
-
Spawns a GDB process. Because this class only facilitates communication with GDB (not with the inferior process being debugged), you have to decide what to do with the
STDIN
,STDOUT
, andSTDERR
of that process. There are a few options available:If STDIN is a tty, we can have the inferior process communicate directly with the controlling tty (emulating the default behavior of gdb):
$gdb = new Devel::GDB::LowLevel( '-execfile' => $path_to_gdb, '-params' => $extra_gdb_params );
Or, we can create an
Expect
object to communicate with the inferior process:$gdb = new Devel::GDB::LowLevel( '-create-expect' => 1 ); $expect = $gdb->get_expect_obj();
Or, we can create our own tty and use that:
$gdb = new Devel::GDB::LowLevel( '-use-tty' => '/dev/pts/123' );
METHODS
- send
-
Sends a raw line of text to GDB. This should not contain any newlines (they will be stripped). This method only sends a request, and does not wait for a response.
- get_reader
-
Returns the file handle from which to read GDB responses.
- get_expect_obj
-
Returns the
Expect
object created in the constructor. Dies if'-create-expect'
was not passed tonew
. - interrupt
-
Send SIGINT to the GDB session, interrupting the inferior process (if any).
SEE ALSO
AUTHORS
Antal Novak <afn@cpan.org>, Josef Ezra <jezra@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2007 by Antal Novak & Josef Ezra
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.