Visual Studio 2015 RTM - 调试无法正常工作

时间:2015-07-23 06:55:15

标签: c# .net debugging visual-studio-debugging visual-studio-2015

我已经安装了VS 2015 RTM(没有别的),我无法调试任何解决方案,无论是现有解决方案还是全新解决方案(使用VS 2015创建并针对.Net Framework 4.6编译),它只在VS中打开一个新选项卡,称为“中断模式”,其中包含以下文本: 应用程序处于中断模式 您的应用程序已进入中断状态,但未执行所选调试引擎支持的代码(例如,仅执行本机运行时代码)。 如果我检查调试 - >模块窗口: VS2015Test.vshost.exe没有加载符号(即使我点击加载符号它不起作用) 已加载VS2015Test.exe符号

它也没有在控制台上显示输出(它是一个控制台应用程序,只有以下几行代码:

class Program
{
        static void Main(string[] args)
        {
            Console.WriteLine("TEST");
            Console.ReadKey();
        }
    }

我尝试重新安装VS 2015,重新启动计算机,删除%temp%/ AppData / Microsoft / Visual Studio / 14中的所有文件,在管理模式下启动VS但似乎没有任何工作。

使调试工作的一件事是这个选项: 工具 - >选项 - >调试 - >使用托管兼容模式

^^但这不是使用旧/旧模式的解决方案。

BTW:VS 2013中的调试工作正常。

任何帮助都将不胜感激。

25 个答案:

答案 0 :(得分:69)

在我的情况下,此解决方案很有用:

解决方案:停用" Just My Code"调试/常规设置中的选项。

enter image description here

参考:c-sharpcorner

答案 1 :(得分:42)

我在VS2015遇到同样的问题。我按照建议重置设置,但仍然遇到问题。

我需要做的就是检查"使用托管兼容模式"和"使用原生兼容模式"。不确定这两个中的哪一个是必要的,但检查两者并且我不再遇到Break Mode问题。

Break Mode Fix - Debug Settings

答案 2 :(得分:15)

我最近遇到了一个非常类似的问题,与调试设置有关。

首先,您是否尝试过重置所有设置?我认为它可能与您有关,因为您说它是独立于项目的,并且您已删除所有应用程序数据。

  

工具 - >导入和导出设置向导 - >重置所有设置

别担心,它为您提供了保存当前设置的选项。

其次,如果失败,我建议查看事件日志。

进入休息模式会表明DE(调试引擎)正在向{@ 3}}之类的可视工作室发送同步停止事件。我将查看事件日志中的异常,例如加载引用的程序集(如.NET运行时等)或环境访问限制时的失败。

有些东西告诉调试器停止正在运行的应用程序,它只是一个找到它的情况。

答案 3 :(得分:14)

以为我会发布这个以防万一它可以帮助任何人。我安装了一个干净的Win 10和Visual Studio 2015,尝试调试现有的解决方案并遇到问题。遵循这里列出的一些建议和其他地方,但都没有。

我如何调试正常工作是改变菜单下方的解决方案配置。我之前已将其设置为Release模式,将其更改为Debug,然后清理/重新编译并执行调试,调试开始正常工作。有关信息,请参阅图片:

enter image description here

答案 4 :(得分:6)

我的解决方案突然停止在调试中工作。 我在调试期间收到了一条消息。 I received a message during debug

  

[窗口标题]       Microsoft Visual Studio       [主要说明]       您正在调试NettoProWin.exe的发布版本。使用Just My Code和Release版本使用编译器优化会导致调试体验降级(例如,不会遇到断点)。       [停止调试] [禁用我的代码并继续] [继续调试] [继续调试(不要再问)]

我选择继续调试,但仍无效。

解决方案很简单。在项目属性中有必要 - >在构建部分 - > 远程检查“优化代码” enter image description here

答案 5 :(得分:3)

检查"代码类型"在附加到流程之前。例如,我不得不从CoreCLR切换到v4。*

Select Code Type

答案 6 :(得分:1)

在安装vs 2017之后,在调试解决方案时,出现了一个错误,例如“Webkit已经停止正常运行; Visual Studio将无法进一步调试您的应用程序。”,这使得无法继续调试。要解决此问题,请转到工具 - >选项 - >调试 - >常规然后禁用asp.net的javascript调试

答案 7 :(得分:1)

UHG。我点击了这个页面的底部,所以我开始拆开我的项目。我找到了解决我特定问题的方法。

我的问题:我无法点击线程进程内的断点。没什么好看的,我只是在控制台应用程序中启动一个新线程,调试器没有停在断点上。我注意到该线程正在被创建,但它被挂起在.Net Framework外部调用,特别是ThreadStart_Context。这就解释了为什么我的断点从未受到影响,因为.Net Framework正在挂起一些东西。

问题:我发现我可以通过更改启动代码来解决这个问题。无论出于何种原因,我有一个包含Main()的program.cs文件,并且正如您对控制台应用程序所期望的那样位于Program类中。在Main()中,我通过此代码实例化另一个类;

new SecondClass();

这通常工作正常,我有很多其他项目与Threaded调用,它工作正常(好吧,我已经调试了一段时间所以也许一个服务包出现并导致这种回归)。

解决方案:将Main()移动到我的SecondClass中,而不是通过'new SecondClass()'调用SecondClass构造函数,将SecondClass构造函数更新为标准静态方法,然后从主要。进行这些更改后,我可以再次调试该线程。

希望这有帮助。

答案 8 :(得分:1)

我在Visual Studio 2015上运行的svc应用程序遇到了类似的问题,解决方案是将解决方案平台从“任何CPU”更改为“x86”,如果您看不到x86选项,请单击“Configuration Manager”,转到目标项目并更改平台,您需要选择下拉列表并单击“新建”,在弹出窗口中,单击“新平台”下的下拉列表并选择x86,保存更改并重建(参见附enter image description here

答案 9 :(得分:1)

在尝试使用Debugger.Launch调试Web应用程序时,我遇到了与此类似的问题:JIT Debugger Selection窗口从未出现过。我知道VS调试机制本身并不是问题,因为它可以通过控制台应用程序启动。

最终,一位同事提到了一个"全局调试器注册表设置"它引爆了一个灯泡。

几个月前我使用Microsoft的DebugDiag来解决IIS崩溃问题,我注册了一个规则来捕获IIS崩溃转储,显然(回想起来)注册了Debug Diagnostic Service作为w3wp的调试器(IIS工人流程)。

删除DebugDiag中的规则,或者停止调试诊断服务(" C:\ Program Files \ DebugDiag \ DbgSvc.exe")重新启用Visual Studio的JIT调试。

希望这有助于某人。

答案 10 :(得分:1)

我禁用了avast文件系统屏蔽,然后再次正常工作。 avast-setting wheel =主动保护 - 顶部按钮关闭。

发布项目需要相同。真正的噩梦

答案 11 :(得分:1)

就我而言,

我已在Debug Configuration Manager中将Platform从x86更改为x64。它对我有用。

答案 12 :(得分:0)

就我而言,这是由于项目目标平台不同。

  

考虑 ProjectA (条目) - >项目B

属性中的

ProjectA&#39> 平台设置为 x64 ProjectB&#39> 平台是 AnyCPU '。

因此,在将 ProjectB&#39> 目标平台设置为 x64 之后,此问题得到修复。

enter image description here

  

注意:只是目标平台必须同步 x64 或   ' 任何CPU '

答案 13 :(得分:0)

Just change your Configuration from Release to Debug

来自解决方案资源管理器的

- >网络 - >特性

选择构建标签 - >配置组合框:

只需将配置从“发布”更改为“活动(调试)”

答案 14 :(得分:0)

我有同样的问题。就我而言,我要调试的dll安装在GAC中。如果您在未引用目标程序集中的任何对象时调试断点都命中,而在引用该程序集时却没有命中,那么您可能就是这种情况。

答案 15 :(得分:0)

就我而言,我在输出窗口中发现一个提示,即停止调试器的异常是一个ContextSwitchDeadlock异常,默认情况下会在异常设置中进行检查。此异常通常在控制台应用程序中60秒后发生。我只是取消选中了异常,一切正常。

enter image description here

答案 16 :(得分:0)

我发现我必须去项目设置 - > web,勾选Enable Edit and Continue复选框。我不能说为什么从一开始就没有检查,但这解决了我。 enter image description here

答案 17 :(得分:0)

  1. 停止调试。
  2. 编辑csproj.user文件
  3. 查找部分写道:
      

    True

  4. 将值更改为“ False”
  5. 在Visual Studio中卸载和重新加载项目。
  6. 有时需要关闭Visual Studio。

答案 18 :(得分:0)

我将平台目标从“任何CPU”更改为“x64”。

可在以下位置设置:项目属性 - >构建 - >一般:“平台目标”

我使用VS 2015。

答案 19 :(得分:0)

我们遇到了这个问题,在尝试了所有其他选项后,例如删除.vs文件夹,重命名IISExpress文件夹名称,更新属性等的各种设置等,它都无效。但有用的是卸载IISExpress 10.0,并重新安装它,同时从Windows功能中打开所有与IIS相关的功能。希望这有助于某人。

答案 20 :(得分:0)

我有这个问题,这里的(无数)帖子都没有帮助。大多数人都指向设置或选项,打开调试模式等等。所有这些我已经到位了(我知道它不是因为昨天工作正常)。

对我来说,它原来是一个引用问题,包含的DLL组合应该受到指责。我不能确切地说出问题所在,但我有几个类从另一个项目扩展基类,一个实现的接口本身从另一个接口扩展,等等。

酸测试是在与未能调试的项目相同的项目中创建一个新类(在我的情况下,单元测试),然后创建一个空方法并在其上设置断点。这工作,进一步验证了我的设置/选项/等是好的事实。然后我复制了无法调试的方法体,确定新方法也开始失败了。

最后我删除了所有引用,并在我的方法中注释掉了所有行。逐个添加它们,在每一步检查Debug,直到找到罪魁祸首。我显然在某处有一个流氓参考......

答案 21 :(得分:0)

一位朋友遇到了同样的问题,他在VS2015中进行了调试但在VS2013中没问题。 (我们的项目是.Net v4.0)

我们发现它是"代码类型" Debug / Attach to Process中的选项设置为" Managed(v3.5,v3.0,v2.0)"代替"管理(v4.5,v4.0)"

答案 22 :(得分:-1)

我也遇到过这个问题。我在Windows 10上使用VS 2015(Update 3),我试图调试Windows窗体应用程序。这个建议都没有对我有用。在我的情况下,我不得不禁用IntelliTrace:

工具>选项>的IntelliTrace

我不知道原因,但它有效。当我打开资源监视器(来自Windows任务管理器)时,我发现了问题的根源,我意识到IntelliTrace进程正在读取大量数据。我怀疑这是在vshost进程中造成锁定,因为这个消耗了100%的cpu核心。

答案 23 :(得分:-1)

卸载RemObjects Elements 8.3试用版后,我遇到了这个问题。重新安装Elements 8.3是一个快速修复错误。

答案 24 :(得分:-2)

我也有同样的问题。在没有运气的情况下尝试其他解决方案后,我不得不通过安装程序修复安装。

  

控制面板>节目>程序和功能

然后向下滚动到Microsoft Visual Studio,右键单击它,然后"更改"。然后在窗口底部单击“修复”。修复过程将花费相当长的时间,最后您将不得不重新启动计算机。

这解决了我的问题,我希望它会对你有帮助。