c# - 我无法调试 .NET Core 源代码

标签 c# visual-studio asp.net-core debugging .net-core

是的,我知道这个问题不时出现,我在互联网上搜索过答案,但似乎没有任何问题。因此,我准备了详细的解释,并附有屏幕截图,说明我试图做什么才能通过 .NET Core 源代码跟踪代码执行以及结果如何。
我正在使用 Visual Studio Community 16.8.3,并从模板创建了一个 .NET Core 3.1 Web 应用程序。我更改了 Startup 类中的代码以使其崩溃。
enter image description here
这些是我的调试设置(我不知道天气 .NET Framework 源步进对 .NET Core 项目有什么意义):
enter image description here
因此,让我们运行并遇到异常:
enter image description here
在这里,我将选择仅对源代码进行反编译(上图中有一个链接),看看这是否有效:
enter image description here
好的,但我只看到代码,无法检查变量和对象值。让我们重新运行,看看是否可以在异常发生时通过单击符号服务器来获取代码:
enter image description here
它提示,所以让我们启用源服务器。
enter image description here
让我们再次运行它,然后遇到异常。
enter image description here
现在它提示某种排除(参见符号状态列):
enter image description here
我手动加载所有符号:
enter image description here
在这里,我重新运行应用程序,加载了所有符号,但是当异常发生时,我仍然无法 F11 进入 .NET Core 源代码:
enter image description here
能够单步执行 .NET Core 源代码,我缺少什么?

最佳答案

您是否启用了源链接?执行以下操作后,我能够进入 .NET Core 3.1 源代码:

  • 在工具 -> 选项 -> 调试 -> 常规中取消选中“仅启用我的代码”并选中“启用源链接支持”
    enter image description here
  • 在工具 -> 选项 -> 调试 -> 符号中激活符号服务器
    enter image description here

  • 我从 Improving Debug-time Productivity with Source Link 获得此信息在 Microsoft 开发博客上。

    关于c# - 我无法调试 .NET Core 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65475882/

    相关文章:

    c# - SQLite 以整数形式保存浮点值

    c# - 是否可以自动将事件查看器错误保存为文本文件?

    visual-studio - Vb6 拖放 HTML 数据

    visual-studio - 如何将我的 VIM 配色方案设置为与 Visual Studio 中相同的默认配色方案?

    visual-studio - 从 Visual Studio 中的待处理文件列表中删除未更改(内容相同)的内容?

    c# - 如何在 OOP 中组织字符串集合?

    c# - 使用 MVC 通过 url 传递参数?

    .net - 如何在 dotnet core 的命令 shell 中设置值

    c# - Docker - 构建时未找到框架 microsoft.AspNetCore.App,版本 '3.1' 0

    angular - 无法从 well-known/openid-configuration 获取配置