【问题标题】:Visual Studio 2012 won't let me debugVisual Studio 2012 不允许我调试
【发布时间】:2013-03-31 00:14:04
【问题描述】:

我似乎无法调试。当我尝试这样做时,我没有收到任何构建错误,并且布局更改为调试模式,但窗口永远不会弹出。我在 VS 的底部有一个橙色条,我认为这是标准的,但之后没有任何反应。这不仅仅是在我正在从事的项目中。我已经启动了一个新的 WFA 并尝试在不添加任何代码的情况下进行调试,并且发生了同样的事情。有人有类似的问题吗?

【问题讨论】:

  • 您确定要放置断点吗?
  • 调试模式下的输出面板说什么?
  • 为什么这个问题“从programmers.stackexchange.com迁移”
  • 调试问题有时会因 UI 技术而大不相同。你在用Winforms吗? ASP.NET?我建议您在问题中提供此信息并相应地标记它。
  • @I4V:因为它最初是在 Programmers 上发布的,所以因为离题而关闭,所以移到更合适的地方。

标签: c# debugging visual-studio-2012


【解决方案1】:

我以前遇到过这种情况。不知道是什么原因造成的,但通常它是修复它的几件事之一。

  1. 确保您是在调试中构建而不是发布
  2. 关闭VS,进入项目目录,删除obj和bin目录。在 VS 中重新打开并重建。
  3. 工具 - 选项 - 构建 (iirc) 下有一个选项,允许检查源代码是否与代码文件相同。但是,如果是这种情况,您应该会在输出窗口中看到一条消息。
  4. 在构建 (iirc) 中的项目属性上,您可以将 pdb 文件从完整的调试符号限制为完全没有 pdb。如果您不是项目中唯一的人,请检查此设置是否仍然启用了完整的 pdb(但更改的可能性很小)
  5. 确保您使用的是正确的平台(x64 与 x32)

...还有很多,但是一个起点...

根据评论补充...

所以,这些消息很好。它是说没有问题(但听起来你已经知道了:))。我将从您提到的一般调试选项开始。在 hello world 应用程序上执行此操作。这样您就可以首先对最低常见问题进行故障排除。这是我的设置。尝试匹配它们,看看是否有效。例如,我知道“在删除断点之前询问”是无关紧要的,但“当一个进程中断时中断所有进程”很重要。因此,我只是将它们全部添加,以便更轻松地进行故障排除。

另外,请确保您在 Visual Studio 中的代码中像这样在此处获得一个红点(我见过 VS 不允许您将其放在这里的实例):

【讨论】:

  • 同样,删除 obj 和 bin 对我来说是解决问题的方法。
  • 好的。以下是输出窗口的内容:线程“vshost.LoadReference”(0x1e58) 已退出,代码为 0 (0x0)。 'CrochetAuLait2.vshost.exe'(托管 (v4.0.30319)):已加载 'C:\Users\Admin\documents\visual studio 2012\Projects\CrochetAuLait2\CrochetAuLait2\bin\Debug\CrochetAuLait2.exe',已加载符号。我尝试删除 obj 和 bin 目录,但出现了同样的问题。我正在调试中,并且在我编写它的同一台 x32 笔记本电脑上。另外,今天早上我写了一个 hello world 控制台应用程序,它也遇到了同样的问题。这就是为什么我认为它必须是 VS 中的一些通用设置。
  • 大师!删除 bin 和 obj 文件夹对我有用!谢谢
【解决方案2】:
  1. 右键单击项目
  2. 点击属性。
  3. 转到网络。
  4. 选中启用编辑并继续复选框。

希望有帮助:)

【讨论】:

    【解决方案3】:

    这是 Visual Studio 2012 的问题。它并不总是出现。我发现如果您在调试期间停止程序,或者关闭控制台窗口,这几乎总是会触发。

    但是,让它运行完成也不够,有时这只是发生。

    您还可以在调试模式下构建应用程序,转到输出,运行程序,然后附加到该进程。 :P

    【讨论】:

      【解决方案4】:

      已经给出了惊人的答案,但它们对目的没有帮助。所以这是我的发现,无论我是否迟到回答,但它确实对我有用。

      即使您正在开发 Web 应用程序,也只需通过右键单击项目转到网站属性,然后您会在左侧看到一个“Web”选项卡,正如我突出显示的那样。然后只需选中“启用编辑并继续”框即可。这就是你需要做的所有事情。它对我有用!

      【讨论】:

        【解决方案5】:

        我遇到了类似的问题,但解决方案绝对是愚蠢的。 VS 在“浏览方式”设置中与 Internet Explorer 的两个实例混淆。因此,我将 Google Chrome(任何浏览器)设置为默认值,然后再次将 IE 设置为默认值。它删除了另一个 IE 实例(只剩下一个)并启用了调试。 希望对您有所帮助!

        【讨论】:

          【解决方案6】:

          我也有类似的问题。

          我加起来了:

          使用命名空间标准;

          这样就解决了问题

          【讨论】:

            【解决方案7】:

            对我来说,卸载 Redgate 的已过期的 Reflector 插件可以修复它。我花了 4 个多小时卸载、重新启动、恢复到旧代码等。

            【讨论】:

              【解决方案8】:

              当我的默认浏览器更改为 CHROME 时,我无法再调试我的用户界面。将IE设置回默认浏览器修复了它。或者,您可以在调试期间附加进程插件。

              【讨论】:

                【解决方案9】:

                我的桌面应用程序遇到了同样的问题,正如这个论坛所说,您应该将您的项目标记为启动项目,因为 Visual Studio 没有标记。它对我来说效果很好,我相信它会帮助其他可能遇到这个问题的人,因为我相信你已经完成了这个项目。

                【讨论】:

                  【解决方案10】:

                  我的一个 VB .NET Winforms 项目不允许调试。 这是由于配置管理器设置为“发布”,即使工具栏下拉菜单显示“调试”。

                  您需要选择模式下拉菜单并选择最后一个选项“配置管理器”并确保主项目设置为“调试”而不是“发布”

                  【讨论】:

                    【解决方案11】:

                    安装 Microsoft SSDTSetup.exe 450Kb 并在安装过程中关闭 SSDT 工具。安装后打开 SSDT 工具并执行脚本任务和带有断点的组件。为我工作

                    【讨论】:

                    • 你能详细说明你的答案吗?
                    【解决方案12】:

                    尝试在不调试的情况下检查您的输出 Ctrl + F5

                    祝你好运

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-09-08
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多