我正在使用 Process.Start
运行命令行实用程序。出于调试目的,我希望将其输出流传输到 Visual Studio 的调试输出面板 (Debug.Write
)。我想实时执行此操作,而不是等待流程完成然后一次将其全部写入。
我知道这在理论上是可行的,但我对 Stream
对象的经验还不够,不知道如何做到这一点。
最佳答案
这可能不是您想要的,但我认为它会让您走上正轨。
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);
}
关于c# - 通过管道将流传输到 Debug.Write(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17370705/