显示控制台输出?

时间:2010-06-12 15:08:50

标签: c# visual-studio-2010

我目前正在为本地公司创建客户应用程序。我有一个datagridview链接到customers表,我正在尝试将其链接,以便正确处理更新,插入和删除。我是c#的新手所以我从基础知识开始(比如大约2天前我什么都不知道 - 我知道vb.net,Java和其他几种语言虽然......)。

通过Debug.WriteLine输出的任何东西应该只在调试模式下出现(常识),但是通过Concole.WriteLine输出的任何内容都应该出现在调试模式下。但是我检查了立即和输出窗口,在正常模式下没有输出任何内容。有谁知道为什么这是??

编辑:我有用于单击单元格的事件处理程序 - 它应该输出CellClicked并在单击单元格时将gridview设置为不可见。后者适用于我所处的模式,但CellClicked仅在调试模式下输出。我正在使用Console.WriteLine(“CellClicked”)。

编辑:似乎我可能已经解决了 - 我只是在项目设置页面中将输出设置为控制台应用程序。它现在打开一个命令行窗口以及一个Windows窗体,但是当我编译分发时,我可以再次更改输出。谢谢你的帮助。

4 个答案:

答案 0 :(得分:7)

在控制台应用的情况下,

Console.WriteLine()输出到控制台窗口

您可能正在寻找Trace.WriteLine()

答案 1 :(得分:3)

将Visual.Prite / Line()的输出写入Visual Studio输出窗口是Visual Studio Hosting过程的一项功能。 Project + Properties,Debug选项卡。如果您在没有调试器的情况下运行应用程序,则无法使用托管进程。

使用Console.WriteLine进行调试并不是最好的解决方案。该代码仍将在您的Release版本中运行,并花时间格式化输出字符串。并防止JIT优化器在生成最有效的机器代码方面做得很好。输出将落在位桶中,没有任何实际写入它。

并且没有必要,调试器为您提供了更好的工具来查找程序中发生的事情。花一些时间熟悉它的功能。如果要查明事件处理程序是否运行,只需设置断点即可。这样的断点甚至可以跟踪输出而不会实际破坏。右键单击红点,单击“当命中时”并使用“打印消息”选项。

答案 2 :(得分:1)

我认为你会比跟踪控制台更好地比跟踪控制台更好。跟踪为跟踪消息的位置提供了许多不同的选项,并且可以打开或关闭它们。您还可以设置不同级别的跟踪输出,以便您可以调整实际执行的日志记录。 .NET内置的跟踪非常灵活,值得投资学习。

以下是一些可以帮助您入门的参考资料:

HTH!
克里斯

答案 3 :(得分:0)

你可以去工具|选项|查找调试,常规,选择将所有输出窗口重定向文本到立即窗口,或者尝试将控制台预期的输出记录到文件中并在那里查看。