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).
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.