我过去曾成功使用过 VS 2010 内置的基于采样的性能分析器。有时代码窗口中突出显示的代码会偏离几行。这可能是由于代码优化,据说探查器处理得不是很好。除此之外,它对我有用(与检测变体相反)
然而,这一次的结果完全是错误的。例如,我的代码中有一行(对导致数据库查询的另一个方法的调用)占总运行时间的 40%,这是我通过“注释掉代码二分法”方法找到的。
然而,VS2012(和 VS2010,我仔细检查了)的采样分析器告诉我该方法占1%(含),即它甚至没有出现在报告摘要中,我必须搜索到详细信息的底部表找到它。为了以防万一,我提高了采样频率,但无济于事。
是什么让分析器如此遥远?
我正在分析一个基于 .net 3.5 的项目,其中包含相当数量的 dll。我尝试在“发布”和“调试”模式下进行分析。没有本质区别。