【问题标题】:The breakpoint will not currently be hit - No executable code is associated with this line当前不会命中断点 - 没有与此行关联的可执行代码
【发布时间】:2018-10-22 17:05:20
【问题描述】:

我在调试 ASP.NET Core 2 应用程序时遇到问题。突然无法命中应用程序中的所有断点。

当前不会命中断点。调试器目标的可执行代码与此行无关。

调试开始后断点提示信息为:

当前不会命中断点。没有可执行代码与此行相关联。可能的原因包括:条件编译或编译器优化,或者当前调试器代码类型不支持此行的目标架构。

【问题讨论】:

  • 不一样。问题是:“调试器目标的可执行代码与此行无关。”但为什么呢?
  • 哦,我的错,检查this one了吗?
  • 谢谢,我之前尝试了所有可能的问题,但没有任何帮助:-(
  • 我之前遇到过同样的问题,我的解决方案是我从 build 菜单中清理了项目,然后将 Visual Studio 中的配置从 release 更改为 debug。试一试
  • 清理项目后同样的情况。

标签: asp.net iis asp.net-core .net-core visual-studio-debugging


【解决方案1】:

我的解决方案是更改项目的构建属性。

项目属性 -> 构建 -> 高级(按钮)- 调试信息(选择框)-> FULL。

【讨论】:

  • 在将两打项目解决方案转换为 SDK 样式的 csproj 和 MVC3-5 csproj 中的 PackageReference 时,中间有一个奇怪的库,不允许设置断点。将该项目的调试信息更改为完整的就可以了。
  • 这对我有用。不知道为什么我的断点一开始就停止被击中,但这成功了。
  • 这是我的问题
【解决方案2】:

@eridanix 有正确的解决方案,但是如果您使用 VS 代码或手动编辑项目文件,您可以将以下内容插入到项目文件 XML 中,这就是通过 GUI 选择 FULL 选项所做的事情。

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
  <DebugType>full</DebugType>
  <DebugSymbols>true</DebugSymbols>
</PropertyGroup>

如果您需要完整的 PDB 用于其他配置,则需要根据需要添加它们

【讨论】:

    【解决方案3】:

    不要忘记为 ASP.NET 启用 JavaScript 调试。在这里检查: 工具 -> 选项 -> 调试 -> 常规 -> 为 ASP.NET 启用 JavaScript 调试

    【讨论】:

      【解决方案4】:

      上述解决方案不适用于针对 Core 3.1 或 Net5 的 VS 2019 版本 16.8.3。我无法在 *.cshtml 文件中设置断点来处理 JaveScript。不过,在 Razor 脚本上设置的断点在 .cshtml 中确实有效。对于 JS,我发现的唯一解决方法是将 Java 脚本移动到 .js 文件。断点在 *.js 文件中按预期工作 - 无论如何对我来说。

      【讨论】:

      • 这当然是我在 2021 年 2 月使用最新的视觉工作室时最有帮助的评论 - 经过数小时的挣扎,我最终放弃了试图解决这个问题的兔子轨迹,只是把我的 js 文件中的断点。
      【解决方案5】:

      一行代码最多有 65535 个字符。 (我已将用于测试目的的文件序列化为一行)。如果超过此行长度,您将收到此错误。我也去了“修复”路线,但没有奏效。我正在使用 VS 2017、C#、ASP.Net Core 2.1。

      【讨论】:

        猜你喜欢
        • 2013-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-26
        • 1970-01-01
        相关资源
        最近更新 更多