我正在尝试检测我们的应用程序以寻找性能优化,但我无法从中获取任何数据。我主要对函数运行时间以及调用它们的次数感兴趣。
你能指出我的过程中的缺陷吗?
这是我所做的:
1.VSInstr MyAssembly.dll
这将创建仪表化的 dll(如两倍大小)并备份原始文件。我收到关于强名称事物的警告,所以第 2 步
2. sn -Ra MyAssembly.dll TheKeyFile.snk
说辞职成功
3. VsPerfCLREnv /traceon
设置环境变量
4. 运行程序。我就在我要调查的步骤之前进行。
5. VsPerfCmd /start:trace /output:../Reports/Report.vsp
开始跟踪
6.单击按钮执行该过程(应用程序创建)并等待完成
7. VSPerfCmd /shutdown
停止追踪。
8. VSPerfCLREnv /关闭
将环境重置为正常
最后,我检查了 Report.vsp 文件。这是一个 148KB 的文件,在 VS2017 中打开时会抛出这两个错误弹出窗口并且无法打开任何内容:
- 文件不包含数据缓冲区
- 分析报告失败