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.