VS2022与Rider调试时多次命中return语句问题求助
C#调试器异常:执行
return exists后跳转至return true语句 使用环境:Microsoft Visual Studio Community 2022(64位)- 当前版本17.4.5
调试一段C#代码时,执行完return exists语句后,调试器未跳转至函数末尾,反而步进至return true语句。实际代码返回的是exists的正确值,功能正常,但调试器同时命中两个return语句的情况令人困惑。
问题代码
List<files> filesWithTheSameHash = GetFilesByMD5Hash(md5Hash); if (filesWithTheSameHash.Count == 0) { return false; } if (contents != null) { Boolean exists = filesWithTheSameHash.Where(f => f.contents == contents).Any(); return exists; } return true;
已尝试的操作
- 在VS和JetBrains Rider中运行,问题表现一致;
- 确认项目为Debug构建,未启用编译优化;
- 更新Visual Studio,问题未解决;
- 测试同类其他函数,存在相同问题;
- 启用“Suppress JIT optimization on module load”,无变化;
注:原代码中
f.contents == contents需修正为f.contents.SequenceEqual(contents),但修正后调试问题仍存在。
内容的提问来源于stack exchange,提问作者Bart Castelijns
相关产品推荐
相关产品推荐

