【发布时间】:2012-05-17 02:12:50
【问题描述】:
我有类似于下面的代码与 Java 中的 gdb 交互。我使用 gdb 启动进程,然后获取进程的流。我有一个线程不断读取进程的输出(使用procOut)并将其打印到屏幕上,然后我使用procIn.println("some_command") 向gdb 发送命令-
Process proc = new ProcessBuilder("gdb").start;
procOut = new BufferedReader(new InputStreamReader(proc.getInputStream()));
procErr = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
procIn = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())));
但是,如果我将 procIn 更改为 BufferedWriter -
procIn = BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
并使用procIn.write("some_command"),它不起作用并且gdb 没有得到输入。有人知道为什么会这样吗?
【问题讨论】:
-
您尝试拨打
flush()吗?