符号被创建,但调试永远不会停在断点
如何让我的断点工作?符号被创建,但调试永远不会停在断点
在调试模式下运行的C#控制台应用程序时,我得到这个消息:
断点目前不会受到打击。对于本文档,没有符号已被加载 。
下面是此问题相关的其他规格:
的Microsoft Visual Studio专业版2015年更新14.0.25123.00 2 Microsoft .NET Framework版本4.6.01055
安装的版本:专业
ASP.NET和Web Tools 2015.1(Beta8)14.1.11106.0 ASP.NET和Web 工具2015.1(Beta8)
的ASP.NET Web框架和工具2012.2 4.1.41102.0有关其他 信息,请访问:http://go.microsoft.com/fwlink/?LinkID=309563
的ASP.NET Web框架和工具2013 5.2.40314.0有关其他 信息,请访问http://www.asp.net/
代码对齐12.1代码对齐可帮助您精美地呈现代码 ,增强清晰度和可读性。
CodeMaid 93年1月10日CodeMaid是一个开放源代码的Visual Studio扩展 清理和简化我们的C#,C++,F#,VB,PHP,PowerShell中,R,JSON, XAML,XML,ASP,HTML,CSS,LESS ,SCSS,JavaScript和TypeScript 编码。
常见的Azure工具1.7提供通用服务以供Azure使用 移动服务和Microsoft Azure工具。
ConfigurationTransform 1.3在 构建过程中自动转换app.config。转换完成后,它将在没有扩展名的其他 构建机器上运行。
GitHub.VisualStudio 1.0一个Visual Studio扩展,将 GitHub Flow带入Visual Studio。
JavaScript语言服务2.0的JavaScript语言服务
的JavaScript项目系统2.0的JavaScript项目系统
JetBrains ReSharper的详情终极10.0.2建立104.0.20151218.120627 JetBrains ReSharper的详情终极包为Microsoft Visual Studio。对于 有关ReSharper Ultimate的更多信息,请访问 http://www.jetbrains.com/resharper。版权所有©2016 JetBrains,Inc.
Microsoft Azure移动服务工具1。4个微软Azure移动 服务工具
Node.js的工具1.1.31117.00增加支持在Visual Studio中开发和调试 的Node.js应用
Node.js的工具 - 分析信息节点1.1.31117.00分析支持。 js 项目。
NuGet包管理器3.4.3 NuGet包管理器在Visual Studio中。 欲了解更多关于NuGet的信息,请访问http://docs.nuget.org/。
的NuGet参考1.0节省时间,可以通过管理的NuGet权从Solution Explorer packages.config
抢占分析可视化1.2的Microsoft Visual Studio的 扩展到从抢占 分析产品可视化聚合摘要引用 。
SQL Server数据工具14.0.60311.1 Microsoft SQL Server数据工具
了StyleCop 4.7提供源代码的风格和一致性的工具。有关更多详细信息,请参阅 https://github.com/Visual-Stylecop/Visual-StyleCop。
打字稿1.8.30.0打字稿工具Visual Studio的
这里是我的调试设置:
这里是我的项目设置:
下面是我使用的包:不涵盖的NuGet
<package id="EntityFramework" version="6.1.3" targetFramework="net452" />
<package id="log4net" version="2.0.3" targetFramework="net452" />
<package id="Magnum" version="2.1.3" targetFramework="net452" />
<package id="MassTransit" version="2.9.9" targetFramework="net452" />
<package id="MassTransit.Log4Net" version="2.9.9" targetFramework="net452" />
<package id="MassTransit.MSMQ" version="2.9.0" targetFramework="net452" />
<package id="Newtonsoft.Json" version="6.0.6" targetFramework="net452" />
其他参考资料:
- 该解决方案由2个项目ects:consoleProject,classLibraryProject。
- consoleProject引用classLibraryProject。
- 当去调试 - >窗口 - >模块classLibraryProject我收到消息“无法找到或打开PDB文件
- 当手动建立PDL for classLibraryProject并将其移动到bin \ Debug for consoleProject ,然后我得到符号状态为“加载符号”。**但是,断点并不符合。**
- 是的,我确定代码被触发是因为代码的副作用是可见的
如何让我的断点工作?
确保您的配置设置为调试,而不是发布。
试试这个,如果上面是正确的:工具 - >选项 - > Debugging->符号并选中“Microsoft符号服务器”
是的,那已经 –
你有我为试图解决这一问题的同情。当我和我的比设置,我觉得在调试2个差异|一般:
- 检查:在模块加载禁止JIT优化
- 取消选中:加载DLL出口
第一个可以解决您的问题。
这可能发生的原因有很多。我有同样的问题,其中一个可能的解决方案是删除所有的.pdb和.idb文件
我刚刚创建了新的控制台app +类库。请确保控制台应用程序对类库引用(如图像)
我写的,因为我没有看到你的屏幕。
比PLZ右击解决方案,并选择“属性...” 你会看到水木清华这样的: 检查配置+平台是平等的为您的项目和复选框“构建”都被选中。如果复选框被后您的解决方案的“干净的构建”中选择,然后你会看到水木清华一样,在colsole应用程序的bin \ Debug文件夹:
请注意,类库有2个文件(突出显示屏幕):dll + pdb。在这种情况下,dll + pdb处于同步状态,您的breakepoints将在类库代码中工作。
如果您在构建之后没有类库项目的pdb文件,那么您可能对类库的引用不是VS项目的参考。请检查您是否正确添加引用(就像上图):
切勿在类库的dll文件直接通过“浏览”对话框引用。
您可以检查您的控制台应用程序正确refenced在类库项目 - 请打开编辑控制台应用程序的csproj文件,寻找关于参考:
如果你有不良refence(上一个.dll文件):
不是删除VS通过上下文菜单参考,并添加正确的。
我希望能帮到你。
您是否尝试取消选中调试>常规>需要源文件以与原始版本完全匹配的选项?
只是大声思索,我遇到了以下意味着没有调试: 这些是一般情况,并不特定于任何环境。
- 系统内存不足,所以JIT不进入调试模式。尽可能增加服务器的内存设置。
- 部署不会以某种方式替换旧版本,绕过构建脚本并手动删除人工制品。创建一个新的人工制品并手动部署。
- 构建脚本不覆盖旧的类/二进制文件,这些文件来自maven样式缓存或其他仓库。删除对这些文件的任何引用,然后重试。
- 正在构建类,但这些类未包含到最终对象中,再次删除最终对象并调整构建脚本以删除此错误。
- 版本控制(某些服务器)不允许部署新的制造品,确保每次部署时增加版本并重试。
- 您正在部署的服务器不是您要连接到每个调试会话的位置,无论是错误的端口还是其他侦听问题。停止服务器以查看会话是否确实在您认为的位置。
- 另外从版本控制来看,如果您的日期过时的产品与服务器日期不符 - 那么例如在一小时后,它可能不会再部署或部署将不稳定。
如果我想到别人,我会在这里发帖。
我以前在框架代码中遇到过这个问题。试试这个:
- 进入调试 - >窗口 - >断点
- 在断点窗口中,单击新建 - >歇在功能
- 输入完全限定的方法名。
这应该至少让你在方法开始的时候有一个断点,然后你可以继续。
请注意,我总是收到一条错误消息,告诉我使用此技术时断点不起作用。但它仍然有效。
请注意,我确实加载了有效符号,因此请务必使用您的设置,告诉您符号已加载。
我在不久之前就遇到过这样的问题......而且我不确定我执行的哪些事情实际上解决了问题。
但我可以告诉的是,我发现(尽管packages.config
条目看起来确定)几个(!)使用的库不在正确的.net版本(在我的情况下为net461
)。
我使用了一个名为的工具,目标框架迁移器来解决这个问题。您可以通过Tools => extensions and updates => Online => Visual Studio Gallery
然后在搜索字段中输入Target Framework Migrator
。
我确实记得,在我尝试修复问题的过程中,我也将.Net升级到了4.6.1 ......也许您也可以试试这个......但是在任何情况下为您自己的库运行Target Framework Migrator (并在路上重新启动VS 2015)绝对值得一试。
祝你好运!
有了这样这是非常值得清洁液异常(包括手动删除bin和OBJ文件夹,然后重新启动。
我不知道你在哪里连接到这两个进程。Visual Studio中默认会只重视以启动项目。看来,consoleProject是你的启动项目。当你开始调试consoleProject使用Debug
菜单并选择"Attach to Process..."
并选择对应classLibraryProject的过程。断点现在将可用。
Ctl+Alt+P
是快捷键为此。
我几乎觉得如果你还没有经历过这个问题,那么你还没有去过硬敲门的学校。我一直得到这个。我通常只是猛烈地摇动我的机器,直到它决定工作。 –
我猜你清理了整个解决方案,重建并重新启动VS? –
@MattiasÅslundyes的确是 –