gpt4 book ai didi

objective-c - 如何在已安装的 Cocoa 应用程序上运行 Gcov?

转载 作者:行者123 更新时间:2023-12-03 17:17:23 25 4
gpt4 key购买 nike

我有一个使用安装程序的 Cocoa 应用程序。我希望能够对代码运行代码覆盖率(在安装之后)。

这不是通常的单元测试场景,其中单个二进制文件将运行一组测试。相反,相关测试将在运行时与 UI 和应用程序后端进行交互,因此我理想情况下希望能够启动应用程序,知道 Gcov 正在对其进行分析,然后针对它运行测试。

有什么想法吗?

更新

感谢mustISignUp。为了澄清我问这个问题的原因:

我犯的错误是认为对象、.gcno 和 .gcda 文件必须与二进制文件一起安装(从而使安装程序变得困难)。事实上,文件的原始位置与检测代码一起硬连接到代码中。

我采用的解决方案是在构建机器上压缩代码并将其放在测试机器上的磁盘上。可以从那里运行 lcov (或只是 gcov)。或者,.gcda 文件将在磁盘上创建,并且必须将它们复制回包含源代码的计算机。

无论哪种方式,源代码都不必在安装和运行时出现,但如果您想以 lcov 方式返回结果,则生成的覆盖计数器文件必须与源代码保持一致。

最佳答案

应用程序需要使用正确的 GCcflags进行编译,这会将分析指令插入到代码中。它不是你可以打开和关闭的东西。即您的代码在编译时被修改以输出覆盖率信息。

因此,如果您使用正确的标志编译应用程序,它将发出覆盖率数据,如果没有,则不会(并且您肯定不希望它用于要分发的应用程序)。

关于objective-c - 如何在已安装的 Cocoa 应用程序上运行 Gcov?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3036742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com