【发布时间】:2016-04-28 17:41:45
【问题描述】:
如何让断点工作?
在调试模式下运行 C# 控制台应用程序时收到此消息:
当前不会命中断点。未加载任何符号 用于此文档。
以下是与此问题相关的其他规范:
Microsoft Visual Studio Professional 2015 版本 14.0.25123.00 更新 2 Microsoft .NET 框架版本 4.6.01055
安装版本:专业版
ASP.NET 和 Web 工具 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 10.1.93 CodeMaid 是一个开源的 Visual Studio 扩展 清理和简化我们的 C#、C++、F#、VB、PHP、PowerShell、R、JSON、 XAML、XML、ASP、HTML、CSS、LESS、SCSS、JavaScript 和 TypeScript 编码。
Common Azure Tools 1.7 提供 Azure 使用的常用服务 移动服务和 Microsoft Azure 工具。
ConfigurationTransform 1.3 期间自动转换app.config 构建过程。设置转换后,它将在其他设备上运行 构建没有扩展的机器。
GitHub.VisualStudio 1.0 一个 Visual Studio 扩展,它带来了 GitHub 流入 Visual Studio。
JavaScript 语言服务 2.0 JavaScript 语言服务
JavaScript 项目系统 2.0 JavaScript 项目系统
JetBrains ReSharper Ultimate 10.0.2 Build 104.0.20151218.120627 适用于 Microsoft Visual Studio 的 JetBrains ReSharper Ultimate 包。为了 有关 ReSharper Ultimate 的更多信息,请访问 http://www.jetbrains.com/resharper。版权所有 © 2016 JetBrains, Inc.
Microsoft Azure 移动服务工具 1.4 Microsoft Azure 移动 服务工具
Node.js 工具 1.1.31117.00 添加对开发和调试的支持 Visual Studio 中的 Node.js 应用
Node.js 工具 - 分析 1.1.31117.00 对 Node.js 的分析支持 项目。
NuGet 包管理器 3.4.3 Visual Studio 中的 NuGet 包管理器。 有关 NuGet 的更多信息,请访问http://docs.nuget.org/。
NuGet 引用 1.0 通过管理 NuGet 引用来节省时间 直接来自解决方案资源管理器 packages.config
PreEmptive Analytics Visualizer 1.2 Microsoft Visual Studio 扩展以可视化来自 PreEmptive 的聚合摘要 分析产品。
SQL Server 数据工具 14.0.60311.1 Microsoft SQL Server 数据工具
StyleCop 4.7 提供源代码样式和一致性工具。看 https://github.com/Visual-Stylecop/Visual-StyleCop了解更多详情。
TypeScript 1.8.30.0 用于 Visual Studio 的 TypeScript 工具
这是我的调试设置:
这是我对项目的设置:
这是我正在使用的软件包:
<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" />
nuget 未涵盖的其他参考:
- 该解决方案由 2 个项目组成:consoleProject、classLibraryProject。
- consoleProject 引用 classLibraryProject。
- 当我进入 debug->windows->Modules for classLibraryProject 时,我收到消息“无法找到或打开 PDB 文件。
- 当为 classLibraryProject 手动构建 PDB 并将其移动到 consoleProject 的 bin\Debug 中时,我得到一个符号状态“已加载符号”。 **但是,不支持断点。 **
- 是的,我确信代码被触发是因为代码的副作用是可见的。
如何让断点工作?
【问题讨论】:
-
我几乎觉得如果你没有遇到过这个问题,那么你就没有去过硬敲学校。我一直得到这个。我通常只是剧烈摇晃我的机器,直到它决定工作为止。
-
您的两个项目都针对 .NET 4 或更高版本吗?
-
我在您的设置中看不到任何奇怪的设置。我会简化解决方案以创建最小的复制。然后从头开始,添加引用,创建相同的复制并查看是否产生相同的行为。我还会检查 csproj 文件和 app.config 是否有任何奇怪的设置。
-
很难猜出您是如何“手动构建 PDB”或为什么必须手动复制它的。在项目符号 3 中,右键单击模块列表中的 DLL,然后选择“符号加载信息”。粘贴您在问题中看到的内容。不要混淆任何东西。
-
你是如何从控制台项目中引用类库的?项目参考还是dll参考?正如@Artyom 在他的回答中提到的那样,您分享的屏幕截图中没有看到参考。
标签: c# .net visual-studio debugging visual-studio-2015