【问题标题】:How can I redirect the output of command prompt to DebugView on windows?如何将命令提示符的输出重定向到 Windows 上的 DebugView?
【发布时间】:2011-02-18 19:51:21
【问题描述】:

我的想法是这样的

C:\myprog.exe > 调试视图

但我不想创建一个名为“DebugView”的文件,而是希望 DebugView 捕获 myprog.exe 的输出。

非常感谢任何评论!

【问题讨论】:

    标签: windows debugging redirect console debugview


    【解决方案1】:

    正如上面 David Heffernan 所解释的,您需要通过另一个程序发送输出,该程序的任务是使用 OutputDebugString 将所有标准输入转换为调试输出,正如 linuxuser27 所指出的那样。但是,我不知道有任何现有的用于此类任务的程序。您可以使用以下简单的 C# 程序来执行此操作:

    public class StdinToDebug
    {
        static void Main()
        {
            string line;
            while ((line = Console.ReadLine()) != null) Trace.WriteLine(line);
        }
    }
    

    如果您将其编译为例如StdinToDebug.exe,你可以使用提到的

    C:\myprog.exe | StdinToDebug.exe
    

    【讨论】:

    • +1 这很有道理。 linuxuser27 提出的想法可能不适用于原始程序。关键是大多数时候您可能希望程序输出到标准输出。
    • 谢谢,莫梅吉尔!它完美地工作。只有一件事我使用 Trace.WriteLine 而不是 Debug.WriteLine 以便我可以在发布配置中编译 StdinToDebug.exe
    • @Alex – 如果答案有帮助,您可能希望将其标记为“已接受”(通过单击旁边的勾号轮廓)。谢谢。
    【解决方案2】:

    我相信你要找的是OutputDebugString()

    【讨论】:

      【解决方案3】:

      你需要通过管道而不是重定向它:

      C:\myprog.exe | DebugView
      

      当然,DebugView 需要从标准输入中读取才能正常工作。

      【讨论】:

        猜你喜欢
        • 2010-10-22
        • 2012-12-25
        • 1970-01-01
        • 1970-01-01
        • 2011-04-20
        • 1970-01-01
        • 2017-07-06
        • 2012-09-16
        • 1970-01-01
        相关资源
        最近更新 更多