Eclipse CDT 在 Debug 一个程序时会在集成环境中虚拟一个终端(Console), 被调试的程序就运行在这个终端里面. 但是这个终端功能很弱, 不支持任何 Escape Sequence, 如果你想调试
curses 或者 vt100 程序就完全没辙了. 在 DDD 中我们可以通过设置 Execution Window 的方法让被调试的程序在独立的窗口中运行, 但 Eclipse CDT 怎么办呢?
在桌面环境的某个终端下执行下面这行命令, xterm 可以用 urxvt 等你喜欢的替换.
xterm -title "debugger terminal" -e /bin/sh -c "tty; sleep 36000" & |
这时候会生成一个标题为 debugger terminal 的 xterm 处于待命状态, 并显示出它的设备名比如/dev/pts/2 .
接下来在项目目录中创建一个 .gdbinit 文件, 内容是 tty /dev/pts/2 . 如此一来, gdb 在运行后便会把输入输出全部定向到刚才开启的那个 xterm 终端中. 从而实现了在外部终端调试我们程序的目的.
阅读(7995) | 评论(0) | 转发(0) |