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", and "STDERR" 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 to
"new".
- interrupt
- Send SIGINT to the GDB session, interrupting the inferior
process (if any).
SEE ALSO¶
IPC::Open2
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.