DEV Community

nullity
nullity

Posted on

gdb trick: automatically redirecct output to another terminal

tty command in gdb can direct output to another terminal.
Like https://stackoverflow.com/questions/8963208/gdb-display-output-of-target-application-in-a-separate-window

But I want it to be set automatically.

Method

Create a script ~/.gdbtty.sh
Its content

#!/bin/bash
gnome-terminal -- bash -c "tty > ~/.gdbtty.txt; exec bash" &
sleep 0.5  # Give it time to open
TTY=$(cat ~/.gdbtty.txt)
echo "set inferior-tty $TTY" > ~/.gdbtty.txt
Enter fullscreen mode Exit fullscreen mode

And edit ~/.gdbinit as

shell ~/.gdbtty.sh
source ~/.gdbtty.txt
Enter fullscreen mode Exit fullscreen mode

Some shortcomings

It's good but with some tiny shortcomings that I currently can't solve.

  1. I cannot control where the output terminal would popup. (But even I can control, I have no idea where is the ideal position for me)
  2. The output terminal may show a harmless warning "warning: GDB: Failed to set controlling terminal: Operation not permitted"

Top comments (0)

Image of Quadratic

Free AI chart generator

Upload data, describe your vision, and get Python-powered, AI-generated charts instantly.

Try Quadratic free

AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️