管道流到Debug.Write()

我正在使用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);
}
上一篇:python-如何通过subprocess.Popen接收泡菜


下一篇:使用Python从正在运行的脚本中读取标准输出