使用 Debugger.Launch 时,控制台输出未显示在 Visual Studio 中

本文关键字:显示 Visual Studio 输出 Launch Debugger 控制台 使用 | 更新日期: 2023-09-27 18:36:44

我正在尝试通过System.Diagnostics.Debugger.Launch()调试C#.NET应用程序(或等效地,通过使用VS附加到现有进程)。 出于我不会深入的原因,我需要从Windows资源管理器而不是从Visual Studio中调用应用程序。

虽然几乎所有事情都运行良好,但我发现当以这种方式附加调试器时,VS 输出窗格不会显示任何控制台消息(即 Console.WriteLine()、pinvoke 'd 非托管 DLL 中的 printf() 等)。 如果我从 Visual Studio 中启动调试会话,则所有控制台消息都会按预期显示在"输出"窗格中。

所以问题是:如何将 VS 调试器附加到现有进程,但仍能在 VS 输出窗格中看到控制台输出?

编辑:我尝试在VS选项中检查"将所有输出窗口文本重定向到即时窗口"; 它没有区别。

使用 Debugger.Launch 时,控制台输出未显示在 Visual Studio 中

另一种选择是将"Console.Out"流设置为FileStream,并将内容输出到文件中。