加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

有没有办法强制Delphi在可执行文件中留下未使用的代码?

发布时间:2020-12-15 09:31:17 所属栏目:大数据 来源:网络整理
导读:Delphi链接器删除任何实际未使用的函数,从而减少可执行文件的大小. 有没有办法阻止Delphi Linker这样做?例如编译器开关? 那些想知道“为什么?”的人…… 我试图使用delphi-code-coverage tool,但它只报告实际编译到可执行文件中的代码.这使它不是很有用.
Delphi链接器删除任何实际未使用的函数,从而减少可执行文件的大小.

有没有办法阻止Delphi Linker这样做?例如编译器开关?

那些想知道“为什么?”的人……

我试图使用delphi-code-coverage tool,但它只报告实际编译到可执行文件中的代码.这使它不是很有用.如果我能让Delphi包含所有代码,我希望我能得到一些有用的代码覆盖率统计信息.

我应该提一下,我在我的应用程序的单独项目中进行了DUnit测试.因此,即使代码在DUnit项目中“未使用”,它也会在实际应用程序中使用.

有关详细信息,请参见here.

解决方法

你的代码覆盖工具正在测量错误的东西.它使用地图文件而不是源代码,因此它只报告实时代码而不是项目中的所有代码.链接器已经过滤掉死代码,在空白的单元测试项目中,所有代码都是死代码.没有办法告诉Delphi在EXE中包含死代码.

在应用程序上运行代码覆盖率工具以获取需要测试的函数列表.然后,在单元测试项目中编写代码,提及所有这些功能. (它不需要调用所有内容,它当然不必测试所有内容.我们只是确保它与单元测试项目相关联.)现在覆盖工具可以准确测量什么是已被执行但没有执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读