19

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

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

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

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

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

谢谢

4

6 回答 6

17

也许我回答这个问题为时已晚,但无论如何,它仍然存在,

  1. 建造 > 清洁解决方案
  2. 构建 > 构建解决方案
于 2015-05-06T17:58:28.607 回答
7

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

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

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

于 2013-09-25T13:21:36.200 回答
4

我终于能够找到解决方案。我必须通过控制面板 -> 程序和功能对我的 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 部署包并且无法从 Internet 下载它时。

我还必须实施以下 stackoverflow 问题中指示的修复:Visual Studio 2012 中的普通 C# 编辑器(无智能感知、无缩进、无代码突出显示)

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

于 2013-11-21T20:37:54.110 回答
3

好吧,嘘......对于像我这样愚蠢的人来说,还有一件事需要考虑:

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

例如我有一个方法:

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

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

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

于 2017-08-16T17:35:10.043 回答
1

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

于 2017-10-26T09:31:15.117 回答
0

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

string str; //Cannot set breakpoint
string str = ""; //Can set breakpoint
于 2018-08-10T13:00:25.723 回答