我遇到了一个奇怪的问题,即当前命中的断点没有完全突出显示,这导致它们仅被部分评估。见下图。调试器所在的语句返回 true。但是,调试器不会越过“产品”,因此它会到达 if 语句的末尾。无论长度如何,它都可能发生在任何代码行上。此外,突出显示下降的点是随机的,有时它只会突出显示第一个字母。
我为此项目使用附加到进程(在所有 w3wp.exe 实例上)。当不调试时,整行都会高亮显示。
我尝试了以下方法:
- 清理和重建项目
- 删除 bin 和 obj 文件夹并重新启动 VS
- 删除所有断点并重置一两个
- 重启电脑
- 删除 .SUO 文件
- 在这个有点类似的 topic 中尝试解决方案
我不确定我在这里遗漏了什么。
最佳答案
当 Visual Studio 逐步执行编译后的代码时,与IDE 中显示的源代码不匹配,就会发生这种情况。除此之外,生成的 pdb 会告诉 VS 一行代码的长度,以便在断点处正确突出显示它; “不完整的突出显示”表示 VS 正在执行与指示的实际行长度不同的代码行。您需要彻底清理并重建所有内容。我知道您表示您尝试过,但有些东西仍然存在或未正确构建。
您也可以尝试转到“调试”>“选项和设置”,选中“要求源文件与原始版本完全匹配”,然后再次构建/运行。这应该进一步确认您正在查看的内容与正在编译的内容之间存在不匹配。
关于c# - 调试时断点未完全突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309285/