使用vs2017进行性能调试
- 收集 CPU 使用量数据
- 分析 CPU 使用量数据
收集cpu使用量
可以根据断点来测试,断点直接的cpu使用的情况
1、打开要在 Visual Studio 中调试的项目,并在应用中设置检查 CPU 使用率的断点。
2、在函数末尾或想要分析的代码区域中设置第二个断点。
通过设置两个断点,可将数据收集限制到想要分析的代码部分。
3、打开“诊断工具” 窗口
在vs2017中打开 debug->windows->show diagnostic tools
4、打开CPU 使用率监控
使用集成了调试器的“CPU 使用率”诊断工具时
5、启动调试
6、运行会触发第一个断点的方案。
7、调试器暂停时,启用收集 CPU 使用率数据,然后打开“CPU 使用率”选项卡。选择“记录 CPU 配置文件”时,Visual Studio 将开始记录函数和执行这些函数所用的时间。 应用程序在断点处中断时,仅可以查看此收集的数据。
8、按 F5 将应用运行到第二个断点。
现在将拥有应用程序特定于在两个断点间运行的代码区域的性能数据。
探查器开始准备线程数据。 等待其完成。
现在可以开始分析数据。
分析CPU数据
建议通过检查 CPU 使用率下的函数列表开始分析数据,然后确定执行大部分工作的函数,最后仔细查看每一个函数。
1、在函数列表中,检查执行大部分工作的函数。
2、在函数列表中,双击一个执行大量工作的应用函数。
双击该函数时,将在左侧窗格中打开“调用方/被调用方”视图。
3、若要按调用函数的顺序来查看较高级别的视图,请在顶部窗格的下拉列表中选择“调用关系树”。
图中每个带编号的区域都与过程中的一个步骤相关。
下面是列值的详细信息:
-
总 CPU 指示函数及由它调用的任何函数完成的工作量。 较高的总 CPU 值指向总体成本最高的函数。
-
自 CPU指示函数体中的代码完成的工作量,不包括由它调用的函数完成的工作。 较高的自 CPU 值可能指示函数自身内部的性能瓶颈。
-
模块包含函数的模块名或包含 [外部代码] 节点中的函数的模块数量。
参考文章