【发布时间】:2021-10-12 00:48:28
【问题描述】:
我正在尝试像往常一样在 VS 2019 中进行调试。最近,由于某种原因,当我在特定 .cs 文件中遇到断点时,Locals 窗口为空。但是,在其他文件中,本地人是可用的!当我在本地为空的文件中使用即时窗口时,我得到“无法评估表达式”。但代码其他部分的相同命令正在运行。
上下文:
-
Project 是一个 C# 库 (dll),它作为插件加载到另一个应用程序 (Revit) 中
-
pdb文件与dll位于同一目录
-
项目正在使用 Fody Weaver。但是我之前一直在使用它,并且我没有遇到过调试问题。
-
我在调试模式下附加,dll也是使用调试模式构建的。
-
“优化代码”选项未选中。
-
我尝试过的事情:
- 启用“使用托管兼容性”模式
- 启用“抑制模块加载时的 JIT 优化”
- 启用“仅我的代码”
- 删除断点并再次创建断点
- 清理解决方案和重建
- 重新启动 Visual Studio
- 以管理员身份启动 Visual Studio
- 将 Visual Studio 更新到最新版本
- 重新启动我的电脑
更新:
我尝试重构并将本地未显示的文件拆分为两个文件。令我惊讶的是,现在本地人在他们之前没有显示的文件和新文件中都显示了。但是,显示的值仍然很奇怪。对象的类型显示为float {class},我无法展开查看它们的属性。请参阅下面新文件中显示的本地人的屏幕截图:
【问题讨论】:
-
如果你在代码的其他地方有Locals可用的地方设置断点,这次Locals还能用吗?
-
我不确定我是否理解您的问题,但是当我遇到断点时,Locals 会显示在某些文件中,但不会出现在其他文件中。
标签: visual-studio-2019 visual-studio-debugging