【问题标题】:Microsoft Visual Studio 2012 cannot set breakpoint in c# fileMicrosoft Visual Studio 2012 无法在 c# 文件中设置断点
【发布时间】:2013-10-01 02:13:00
【问题描述】:

我安装了 Microsoft Visual Studio Professional 2012,版本 11.0.60610.01 Update 3。

在调试 c# (.cs) 文件时,当我尝试设置断点时,Visual Studio 会给我以下消息:

“无法在此位置插入断点”。

即使尝试将其设置在方法中的一行上,我也会收到此消息。但在 Visual Basic 应用程序的 .vb 文件中,我可以设置断点。

我想知道是否有人有任何解决此问题的建议,或者我是否需要重新安装 Visual Studio。

谢谢

【问题讨论】:

  • 你在debug个人资料中吗?
  • 你重启VS了吗? Intellisense 工作正常吗?
  • 是的。我在调试配置文件中。我已经重新启动了 VS,并且智能感知正在工作。
  • 你在哪一行插入?例如,您不能在声明上放置断点(除非它被分配)。
  • 在测试 c# 控制台应用程序中,我有一行:t="aaa";尝试在此行设置时收到相同的消息。

标签: c# debugging visual-studio-2012


【解决方案1】:

也许我回答这个问题为时已晚,但不管怎样,

  1. 构建 > 清洁解决方案
  2. 构建 > 构建解决方案

【讨论】:

  • 谢天谢地,这为我完成了这项工作。
【解决方案2】:

我遇到了类似的问题,我通过退出 Visual Studio 并从我的解决方案文件夹中删除 .suo 文件解决了这个问题。

当您再次打开项目时会重新创建此文件,删除它并无害。

.suo 用于存储解决方案的布局、设置的断点、打开的选项卡等。 我不确定为什么会这样,但我的逻辑是 Visual Studio 认为我试图将断点放置在与我实际放置断点不同的位置。

【讨论】:

  • 感谢您的回复。我退出了 Visual Studio,然后删除了 .suo 文件。但是当我再次打开解决方案时,尝试设置断点时它仍然给我同样的信息。
  • 嗯,值得一试。希望您能找到适合您的解决方案。
  • @Kokodoko .suo 是一个隐藏文件。所以你需要检查你的文件选项以确保它们被显示出来。
【解决方案3】:

我终于找到了解决方案。我必须通过控制面板 -> 程序和功能对我的 Visual Studio 2012 实例进行修复,右键单击 Microsoft Visual Studio Professional 2012,然后选择更改。然后在 Visual Studio 窗口中选择修复。

作为修复过程的一部分,我还必须下载位于此处的 Web 部署:http://www.microsoft.com/en-us/download/details.aspx?id=4148 并将 Visual Studio 修复过程指向 .msi 文件,当它说找不到 Web 部署包并且无法从网上下载。

我还必须实施以下 stackoverflow 问题中指出的修复:Plain C# Editor in Visual Studio 2012 (No intellisense, no indentation, no code highlighting)

现在我可以按预期调试应用程序了。

【讨论】:

    【解决方案4】:

    好吧,天哪......对于像我这样愚蠢的人,还有一件事要考虑:

    您可以在方法的开头或结尾处的花括号上放置断点,也可以在正在执行某项操作的任何行上放置断点(例如,赋值或调用方法)。但是,您不能在仅声明变量或“什么都不做”的行上放置断点。

    例如我有一个方法:

    public IEnumerable<SomeObject> GetList()
    {
        int distance;
        var otherVar = SomeValue;
    }
    

    我试图用int distance; 将断点放在第一行,这在其他IDE 中可以正常工作,但在VS 中不起作用。为了设置断点,我必须上到大括号或下一行赋值。

    我浪费了 5 分钟,我再也回不来了,试图调试一个非问题 ;-p

    【讨论】:

      【解决方案5】:

      VS 2017 我有这个,我错过了一个;在 for 循环中

      【讨论】:

      • 我在 VS 2017 中也注意到了这一点。有时当我遇到编译错误(红色波浪线)时,我也无法放置任何断点。但这种情况很少发生。
      【解决方案6】:

      如果没有指令在一行上执行,VS 拒绝设置断点并且没有提供任何理由。 EG

      string str; //Cannot set breakpoint
      string str = ""; //Can set breakpoint
      

      【讨论】:

        猜你喜欢
        • 2013-01-01
        • 1970-01-01
        • 2015-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-22
        相关资源
        最近更新 更多