Delphi链接器删除任何实际未使用的函数,从而减少可执行文件的大小.
有没有办法阻止Delphi Linker这样做?例如编译器开关?
那些想知道"为什么?"的人......
我正在尝试使用delphi-code-coverage工具,但它只报告实际编译到可执行文件中的代码.这使它不是很有用.如果我能让Delphi包含所有代码,我希望我能得到一些有用的代码覆盖率统计信息.
我应该提一下,我在我的应用程序的单独项目中进行了DUnit测试.因此,即使代码在DUnit项目中"未使用",它也会在实际应用程序中使用.
有关详细信息,请参见此处
你的代码覆盖工具正在测量错误的东西.它使用地图文件而不是源代码,因此它只报告实时代码而不是项目中的所有代码.链接器已经过滤掉死代码,在空白的单元测试项目中,所有代码都是死代码.没有办法告诉Delphi在EXE中包含死代码.
在应用程序上运行代码覆盖率工具以获取需要测试的函数列表.然后,在单元测试项目中编写代码,提及所有这些功能.(它不需要调用所有内容,它当然不必测试所有内容.我们只是确保它与单元测试项目相关联.)现在覆盖工具可以准确测量什么是已被执行但没有执行.
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |