0
我正在为我的Java项目编写GDB包装。有没有一种方法可以确定GDB中的目标应用程序何时等待用户输入?GDB/MI检测目标等待输入
我正在为我的Java项目编写GDB包装。有没有一种方法可以确定GDB中的目标应用程序何时等待用户输入?GDB/MI检测目标等待输入
基本上,您需要将标准I/O重定向到POSIX系统下的伪终端。下面我将概述如何做到这一点。
单独写一个独立的 “启动” 程序:
在Java控制程序:
然后,您可以检测到被调试的程序正在等待用户输入。将pty文件描述符的主端转换为NIO通道,将其设置为非阻塞模式,并将其设为monitor the master pty for writing with a Selector。
您需要单独的代码路径来支持Microsoft Windows。
也许我是密集的,但因为这是你的Java项目,应该把它标记为那个而不是C? –
Dennis Meng,我已经添加了java标记。 – Eloar