我需要获取大量C程序的代码覆盖率信息。我只需要知道是否每行都被执行了。然而,其中一些永远不会结束,因为无限循环的缘故。大多数工具,例如gcov,llvm-cov,只有在程序结束后才能获得程序的信息。我为所有的程序设置了时间限制。如果它在执行时间超出限制时不结束,它的进程将被杀死。但是,当它的进程被杀死时,存储在内存中的所有信息都会被清除。因此,我无法获得这些程序的代码覆盖率信息。我该怎么做呢?
发布于 2018-10-29 15:58:09
一个简单的解决方案是在你的程序中添加一个小的计时器中断,它会在几秒钟的“坏行为”后引发一个异常,并导致程序很好地终止。
当以你想要的临时方式进行搜索和探测时,只要你发现了错误就立即删除它,这是完全合法的。
https://stackoverflow.com/questions/52389254
复制相似问题