【发布时间】:2013-03-22 19:38:16
【问题描述】:
我想在调试我的程序时创建一个控制台窗口并在上面打印一些信息。 VS 2010 没有让我选择为我的程序设置不同的输出类型,具体取决于它是处于调试模式还是发布模式,所以我求助于手动创建一个控制台窗口,如下所示:
[DllImport("kernel32.dll")]
public static extern Int32 AllocConsole();
static void Main()
{
#if DEBUG
AllocConsole();
#endif
....
这会弹出一个控制台窗口,但没有写入任何内容。我尝试了一堆其他的 pinvoke(AttachConsole 等),但什么也没做。然后我终于尝试在 Visual Studio 之外运行应用程序,并且控制台窗口工作。显然 Visual Studio 正在吃掉我所有的 Console.WriteLines!
我该如何解决这个问题?
【问题讨论】:
-
应该没问题。查看 VS 输出窗口。并且通常支持 Debug.Print() 在那里显示调试输出。
-
或者
Trace.Write...或者等等,现在我想:VS会自动连接TraceListeners吗?嗯...*clattety-clack-clack* - 是的,确实如此。 -
好吧,我还是希望它显示在控制台窗口上,而不是 VS 的输出窗口中。
标签: c# visual-studio-2010 console