c - GDB - 在单独的窗口中显示目标应用程序的输出

标签 c gdb

我正在使用 GDB 调试我的一些 C 应用程序。我目前做的是加载目标应用程序,在第 30 行设置断点并运行它。

我想让 GDB 在新的终端窗口中显示我自己的应用程序的输出,同时我仍然能够通过 GDB 终端窗口控制断点处理,但我似乎找不到合适的开关。有什么方法可以让 GDB 在它自己的窗口中显示我的程序的输出吗?

最佳答案

对于想知道如何使用 GDB tty 命令的人,这里有一个简短的描述...

  • 打开一个新的控制台窗口。我们将在此处重定向在 GDB 下运行的程序的输出。这是我们的输出窗口。
  • 在输出窗口中运行tty 命令。这将显示底层控制台正在使用的 tty 的名称。

    $ tty
    /dev/pts/4

  • 打开另一个控制台窗口并在此处启动 GDB。让我们称之为 GDB 窗口。

  • 现在使用上面获取的tty文件名在GDB中运行tty命令,然后开始调试过程。

    (gdb) tty/dev/pts/4
    (gdb) 运行

现在您应该能够在输出窗口中单独看到程序输出。

注意:GDB set new-console on 命令在 Linux 上不起作用!它只能在 Windows 上运行。在 Linux 上使用上面描述的 tty 方法。

关于c - GDB - 在单独的窗口中显示目标应用程序的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8963208/

相关文章:

c - 我的 else..if 声明有错误

c++ - 使用 cgdb 调试——只想调试我的代码

linux - 如何将 gdb 调试器置于 nohup 下?

C 指向结构的双指针

c++ - 将浮点 vector 转换为 16 位 int 而不饱和

c++ - 阻止进程使用 WMI 启动?

c - 使用 while 循环进行字母移位

linux - 我可以使用 GDB 调试正在运行的进程吗?

c - GDB 无法在共享库上设置断点

debugging - 使用 gdb 调试时彻底退出 valgrind