当前不会命中断点 - 没有可执行代码与此行相关联

The breakpoint will not currently be hit - No executable code is associated with this line

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

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

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

The breakpoint will not currently be hit. No executable code is associated with this line. Possible causes include: conditional compilation or complier optimizations, or the target architecture of this line is not supported by the current debugger code type.

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

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

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

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

如果您需要其他配置的完整 PDB,则需要适当添加这些配置

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

启用 JavaScript 调试

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

一行代码最多可包含 65535 个字符。 (出于测试目的,我将一个文件序列化为一行)。如果超过此行长度,则会出现此错误。我也走了“修复”路线,但没有用。我正在使用 VS 2017,C#,ASP.Net Core 2.1.