通过管道将流传输到Debug.Write()

本文关键字:Debug Write 传输 管道 | 更新日期: 2023-09-27 18:20:23

我正在使用Process.Start运行一个命令行实用程序。出于调试目的,我希望将其输出流提供给Visual Studio的"调试输出"面板(Debug.Write)。我想实时完成这项工作,而不是等待流程完成,然后一次写完。

我知道这在理论上是可能的,但我对Stream对象的经验不足,不知道如何做到这一点。

通过管道将流传输到Debug.Write()

这可能不是你想要的,但我认为这会让你走上正轨。

p.StartInfo.UseShellExecute = false; 
p.StartInfo.RedirectStandardOutput = true;
p.OutputDataReceived += p_OutputDataReceived;
p.Start();
p.BeginOutputReadLine();

然后,接收数据的事件处理程序。

void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
    Debug.Write(e.Data);
}