---
name: "Devel::GDB::LowLevel"
section: "3pm"
platform: "linux"
package: "libdevel-gdb-perl"
version: "2.02-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Devel::GDB::LowLevel"
---

# Devel::GDB::LowLevel(3pm)

Low-level interface for communicating with GDB

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