Visual Studio 2022 C# CPU性能分析仅显示方法总耗时,无行级计时数据
解决Visual Studio 2022 CPU性能分析器无法显示行级耗时的问题
- 切换分析模式到仪器化分析
默认的采样模式不会收集行级耗时数据,必须改用仪器化模式:
- 启动性能分析前,在性能探查器的「CPU使用情况」选项里点击设置图标
- 在弹出的设置窗口中,把分析模式从「采样」改成「仪器化」
- 重新运行分析,就能看到方法内每行代码的耗时分布
- 确保调试符号正确加载
行级分析依赖完整的调试符号,检查以下几点:
- 项目生成配置如果是Debug可直接使用;如果是Release,需在项目属性→生成→高级里,将调试信息设置为「完整」
- 打开调试→选项→调试→符号,勾选「Microsoft符号服务器」,确保本地符号缓存路径有效
- 分析结束后,在性能报告的「符号状态」面板中,确认目标程序集的符号已成功加载
- 禁用内联优化(针对Release模式)
Release模式的内联优化会导致行级数据丢失:
- 要么在项目属性→生成→高级里取消勾选「启用优化」
- 要么给目标方法添加
[MethodImpl(MethodImplOptions.NoInlining)]特性,禁用内联后再重新分析
- 更新Visual Studio到最新版本
旧版本VS2022可能存在行级分析的bug:
- 打开帮助→检查更新,安装所有可用的补丁
- 若问题仍存在,可尝试重置VS设置(工具→导入和导出设置→重置所有设置)
内容的提问来源于stack exchange,提问作者user1595443
相关产品推荐
相关产品推荐

