断点无法绑定 – Visual Studio 2015
我刚刚从Visual Studio 2013升级到2015,现在我遇到了断点问题。
这是一个打破或小姐,其中断点将实际工作,如果我在debugging时设置一个,我得到的错误:
断点无法绑定。
任何帮助,将不胜感激。 我准备放弃2015年,然后回去。
我有同样的问题,但不同的解决scheme。 请注意我已更新到VS 2015 Update 1,问题仍然存在。
在以前版本的VS启动debugging时,自动触发了一个在debugging模式下的构build。 但是VS2015并没有。
所以如果你的最后一个版本处于发布模式,并且你尝试debugging,断点将不起作用。
您必须首先手动build立debugging模式,然后开始debugging。
我有同样的问题。
我解决了它,禁用项目属性“生成”选项卡中的“优化代码”选项。
这可能看起来微不足道,但是在经历了与你提到的相同的问题之后,我发现当我尝试debugging时,我的构build被设置为“释放”而不是“debugging”。重新构build“debugging“修复它,我可以设置正常的断点
我有一个类似的问题,断点失败绑定,以及某些本地variables不在本地人窗口中评估。 最后解决的是在Options-> Debug-> General选项卡中启用了“在模块加载时禁止JIT优化(仅限Managed)”选项。 一旦我设定它能够绑定没有问题。
我有这个问题。 我运行了性能分析会话,它使用性能监视器的设置修改了Web.config文件。 这打破了我停在断点的能力。 当我恢复到原始的Web.config(删除性能分析器设置)时,断点再次开始工作。
我昨天有同样的问题。 我使用“清洁解决scheme”function,它有帮助。
我在我的解决scheme上运行性能,并将其添加到我的web.config
<compilation debug="true" targetFramework="4.5" assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
assemblyPostProcessorType
是问题,我删除它,并解决了我的问题
解决方法是禁用devise优化。
Project Properties> Build> Advanced Compile Options> Enable Optimizations
我没有改变'优化'的设置,但基于这里的其他答案,我
- 设置解决scheme资源pipe理器以显示项目的所有文件
- 删除隐藏的bin和debugging文件夹
- 在项目上执行“清洁”
- 对项目进行“重build”
到目前为止,这已经为我修好了。 似乎更新到VS2015更新2已经在我的系统上做了几件事情。
我今天遇到了绑定断点错误。 我已经解决了我的问题。
如果您的所有debuggingconfiguration不正确,则无法解决下面的问题。
- 清洁项目
- 如果输出path与bin文件夹不同,请将其replace为bin文件夹(这是最重要的规则)
- 重build
也许这个解决scheme帮助某人
VS断点不能绑定在asynchronous方法上。
我安装了导致此问题的App Dynamics代理。 删除,你很好去。
我有同样的问题,但没有意识到“debugging”更改为debugging工具栏上的“释放”(通常直接在菜单下)。 所以我把它设置为“debugging”它的工作。
Microsoft Visual Studio 2015 Update 3(KB3165756)的新更新已经解决了我试图检查embedded在ASP.NET Core应用程序的cshtml文件中的C#代码中的局部variables的断点问题。
我遇到了类似的问题,在这个问题上我没有遇到任何问题。 然而,与问题不同的是,我从来没有收到任何消息说没有绑定。 断点从来没有命中。 希望这将有助于未来的某个人与WCF一起撞墙。
TL / DR:
在SOAP消息中有一个数据不好的logging,导致断点不被触发。
全文:
我有一个基于另一个团队的WSDL的WCF服务。 不是我的定义,不能控制它…我通过这个服务接收来自其他团队的消息。 在我的情况下,我收到消息,可以将消息logging到数据库中的消息日志表(这发生在我的服务方法被调用之前),服务方法似乎被称为(也许不是),服务器响应一202接受。 通信正在工作,除了在方法调用期间没有数据被保存到数据库。
由于服务返回成功的响应,我排除了HTTP和运输相关的问题。
于是,我启动了VS2015来debugging服务。 有关的信息很大,但在我所期望的范围内。 我在服务方法的第一行放置了一个断点,并发送了大量的消息,但是断点从未被触发。 我尝试了一个更小的消息,我知道在同一个运行实例上工作,断点被击中就好了。 所以configuration中的一切都很好。 我想也许在邮件大小中有一些东西。
我尝试了一切,我可以find – 确保我在debuggingconfiguration,清理和重build,手动将debugging器附加到w3wp进程(VS已经是),使用Debugger.Break()
而不是断点,设置多个启动项目卸载我的testing项目,以便服务项目是唯一的,更新.NET,重新启动VS2015,重新启动,从本地IIS切换到IIS Express并返回,重新创build保证最新WSDL的服务。 没什么重要的 断点从未被击中。
我最终不得不逐个删除大消息中的logging,直到find一条logging不好的数据。 在我的情况下,这是一个没有2个DateTime字段值的logging。 当我创build一个只有这个logging并发送的消息时,断点没有被触发。 当我提供这些2个DateTime字段的值,并发送相同(固定)的消息在断点发射按预期。
我已经启用了每一个CLRexception,除了丢失.pbd文件之外没有其他任何事情发生,我不关心。 WCF高兴地发送了一个不好的logging通过请求。 我并不是说WCF不应该根据契约来发送它,只是不良logging导致断点不被触发。
我不得不修改web.config文件来启用debugging。 改变这个:
<compilation debug="true" targetFramework="4.5.2" assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
至:
<compilation debug="true"/>
我在开发机器上挥舞着一只橡皮鸡,在它周围绘制了一个星星的轮廓,并且工作。 在你笑之前,这与为这个bug提供的其他非解决scheme相比,毫不荒谬。 在这里提供的任何解决scheme中,你简单的做法都不会让任何短暂或冗长的步骤消失。 我相信放弃Visual Studio 2015是避免它的唯一可行的方法。
我查看了以前的答案和@威尔的answear修复了我遇到的主要问题,另一个能够编辑和继续,但仔细看看AssemblyInfo.cs文件,我发现一些禁用的debuggingfunction。
然后,我结束了删除旧的debugging属性,并添加以下,我从另一个项目
#if DEBUG [assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.DisableOptimizations | System.Diagnostics.DebuggableAttribute.DebuggingModes.EnableEditAndContinue | System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | System.Diagnostics.DebuggableAttribute.DebuggingModes.Default)] #endif
但是我觉得这不是做这件事的最好方法。
第一步,排除显而易见的:
- 在debugging模式下编译。
- 在设置断点之前尝试清理解决scheme。
- 转到Debug文件夹,然后删除[Your application] .pdb文件。
- 然后做一个生成或重build你的应用程序。
- 转到Debug文件夹并确认你有一个全新的[Your application] .pdb文件。
- 然后尝试设置您的中断点。
第2步对于C ++项目:
检查以下项目属性:
- C ++ / General / Debug信息格式:程序数据库。
- C ++ /优化:禁用。
- C ++ /代码生成/运行时库:multithreadingdebugging。
- 链接器/debugging/生成debugging信息:是的。
- 链接器/debugging/生成程序数据库:$(TargetDir)$(TargetName).pdb。
- 链接器/清单文件/生成清单:不。
- 链接器/清单文件/允许隔离:否。
- 链接器/embedded式IDL /忽略embedded式IDL:是。
-
再次做第一步
你可以尝试添加__debugbreak()。 这个声明需要放在你想要破解的源文件中。
第2步对于C#项目:
- 在项目属性中,应该禁用Build / General / Optimize代码。
- 在IDE设置中debugging/选项和设置/debugging/常规抑制模块负载上的JIT优化(仅限pipe理):启用
- 再次做第一步
尝试在其他机器上打开您的解决scheme 如果你可以在不同的机器上绑定一个断点,这可能意味着你的VS或你的操作系统有问题。
第3步,确保你的VS是最新的:
在VS2013 RTM以及VS2015 Update 1和Update2中都有类似的报道。
在VS进入工具/扩展和更新/更新/产品更新,看看你正在运行的版本。 如果需要更新,它将出现在那里。
第4步,确保您的操作系统是最新的:
最后,如果你运行的是Win 10操作系统,那么在编译14251时存在一个关于这个问题的报告错误。在14257(及以上版本)中解决了这个问题。