vsinstr.exe 检测大型可执行文件的性能

Posted

技术标签:

【中文标题】vsinstr.exe 检测大型可执行文件的性能【英文标题】:vsinstr.exe instrumented large executable performance 【发布时间】:2013-09-03 20:18:29 【问题描述】:

我想使用 Visual Studio vsinstr.exe 工具来检测非托管 c++ 可执行文件(旧版应用程序)。这是一个非常大的项目,这将是一种如何将我们庞大的测试自动化内容映射到实际代码的方法,以确定对代码库进行更改时会影响哪些测试用例。

然而,我担心这种检测的可执行文件的性能,因为我们基本上需要运行整个测试自动化内容来获取覆盖率数据(或在代码更改时更新它),这将在每晚完成。为了得到图片,测试自动化运行可能需要 10 个小时(GUI 测试,由于遗留架构没有单元测试)

有人对已检测的可执行文件的性能有实际经验吗?

【问题讨论】:

【参考方案1】:

我意识到这个问题已经过时了(变老了),所以我的答案是为其他偶然发现这个问题的用户准备的。

根据我的实际经验,检测二进制文件的运行速度确实要慢得多,通常是数量级。但是,我只检测了 MANAGED 二进制文件,并且 OP 特别声明了非托管 C++,因此“您的里程可能会有所不同。”

我的建议是运行需要 2-3 分钟的测试子集。运行该子集 3 次并平均实际运行时间结果。然后检测二进制文件并运行相同的测试 3 次并计算平均值。由于应用程序初始化,更少的测试和数据可能会出现偏差。更多测试,您最终可能会为每个仪器测试等待一个小时。

【讨论】:

以上是关于vsinstr.exe 检测大型可执行文件的性能的主要内容,如果未能解决你的问题,请参考以下文章

检测可执行文件是不是在用户的 PATH [重复]

如何以编程方式检测可执行文件在运行时所在的目录?

编译的 C 可执行文件被 Windows Defender 检测为病毒

未检测到 Rails 预编译资产 Yarn 可执行文件

Redis(开发与运维):04---Redis的启动连接/外网连接关闭可执行文件与配置参数大全

错误 ITMS-90085:“二进制文件中没有架构。Lipo 未能检测到捆绑可执行文件中的任何架构。”