【问题标题】:Debug.Writeline is Not printing anythingDebug.Writeline 没有打印任何东西
【发布时间】:2019-03-27 00:37:29
【问题描述】:

VS 2010 专业版、C#、WinForms: 在我的方法一开始我说Debug.Writeline("entering method blah"); 然后在这个方法的某个地方我放置了一些断点并运行程序。所以我看到执行在那些断点处停止,所以它就在这里!但是如果我搜索输出->调试组合框模式和即时窗口,我在任何地方都找不到我为Debug.Writeline 编写的消息。

我还尝试了调试选项中显示“将所有输出重定向到即时窗口”的该死框设置......也没有帮助。

【问题讨论】:

  • @msarchet:是的,在调试中
  • 是否定义了DEBUG符号? (您可以对名为“Debug”的配置文件执行此操作)
  • @MarcGravell:我不确定如何检查您提到的内容。你的意思是pdb文件吗?是的,它们正在被创建。
  • 转到 IDE 中的项目属性;将有一个与定义 DEBUG 常量相关的复选框;确保在调试版本中检查它

标签: c# debugging


【解决方案1】:

已经在 cmets 讨论过,但直到在那里讨论才确定。然而:

  • Debug.Whatever(...) 的调用通常标有[Conditional("DEBUG")],这意味着它们需要定义DEBUG 符号,否则这些调用不会编译
  • 默认项目为“调试”配置文件定义了DEBUGTRACE,为“发布”配置文件定义了TRACE
  • 不过,您可以通过“项目属性”中的复选框禁用DEBUG 符号

所以;转到项目属性,并确保根据您的需要(对于项目中存在的所有配置文件)定义(或不​​定义)DEBUG 符号。

【讨论】:

    【解决方案2】:

    确保按 F5 启动调试模式(not Ctr+F5)。

    F5开始调试

    CTRL+F5 不调试就开始

    【讨论】:

      【解决方案3】:

      如果 Debug 不打印任何内容(并且您不能在其上设置断点):您还必须检查项目属性中的“TRACE”。

      【讨论】:

        【解决方案4】:

        如果还是没有输出,请检查为输出窗口启用的消息类型:

        1. 在输出窗口的内容区域内单击鼠标右键。
        2. 例如,确保选择“程序输出”。 (它应该看起来像屏幕截图)

        【讨论】:

          猜你喜欢
          • 2020-01-10
          • 1970-01-01
          • 1970-01-01
          • 2016-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多