Bac*_*ave 6 c# visual-studio-debugging asp.net-core
我正在尝试调试 ASP.NET Core 框架中的防伪代码。
我已使用https://github.com/dotnet/aspnetcore/blob/master/docs/BuildFromSource.md中的说明使用调试配置成功构建了代码。
我已将源代码项目添加到我的测试项目中并引用它。
我检查过配置是否设置为调试。
我已确保已选中“抑制 JIT 优化”。
对于这两个项目,项目属性 -> 构建中的“优化代码”均未选中。
两个项目的“高级选项”(“构建”选项卡下)中的“调试信息”下拉列表已设置为“完整”。
但是,当我在 中命中断点时DefaultAntiforgeryTokenSerializer.Serialize()
,在“监视”窗口中查看该方法的本地变量时,它会出现此错误:
无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉
如何强制代码不被优化?
我正在使用 Visual Studio Enterprise 2019 v16.8.3。
将 Antiforgery 源代码项目添加到我的解决方案后,我必须引用 .csproj 文件中的 dll,而不是添加对 .csproj 文件的项目引用C:\aspnetcore\artifacts\bin\Microsoft.AspNetCore.Antiforgery\Debug\net5.0
。
我现在可以在“监视”窗口中查看局部变量的值。
这是一个教程: https://medium.com/gitconnected/how-to-debug-asp-net-core-source-code-448544c16473
归档时间: |
|
查看次数: |
914 次 |
最近记录: |