我正在寻找一个代码分析器,它可以容忍我们的应用程序相当频繁地启动和停止这一事实。
换句话说,假设我的应用程序是:
int main()
{
ConfigType config = WaitToBeConfigured();
SetUpThreadsAndRun(config);
return 1;
}
我们想了解一下 SetupThreadsAndRun() 下数百个函数的行/函数覆盖率。
我们使用分析器遇到的困难:
- 我见过的大多数分析工具都要求应用程序“正常”终止(即返回 1 被命中,并且您按照程序的后主例程写出统计文件)。就我而言,我们的应用程序的结构使其永远不会退出,除非您通过 exit() 或重新启动来终止。
- 当我们切换配置时,我们将启动/停止几次,并且想要一份所有运行的摘要报告(即,我们想知道是否有任何功能或线路未被覆盖的 50 种左右可能的配置) )。如果我们能解决(1),我也许可以用 perl 脚本来处理这个问题。
关于我们如何进行有什么想法吗?我们主要寻找线路覆盖范围(而不是内存或速度)。
答案1
目前看来尚不支持执行此操作...最好的选择是重构我们的应用程序以使其干净退出。