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.