当我做gcov的时候。没有任何问题。然而,当我做gcov -a时。gcov冻结了。输出的最后几行是:
执行的文件'/usr/include/boost/archive/detail/iserializer.hpp‘行: 55个/usr/include/boost/archive/detail/iserializer.hpp:creating 'iserializer.hpp.gcov’的78.18%
执行的文件'/usr/include/boost/serialization/extended_type_info_typeid.hpp‘行: 27个/usr/include/boost/serialization/extended_type_info_typeid.hpp:creating 'extended_type_info_typeid.hpp.gcov中的40.74%
你知道为什么会这样吗?我需要"-a“的原因是当我使用lcov时,它为gcov提供了选项,我可以修改geninfo以忽略该选项,但我不希望这样做,因为我最终会在公共系统上运行lcov。
感谢您的任何投入!
发布于 2012-03-01 08:17:29
我也有使用boost::serialization的代码- lcov进程不是/frozen/,它只是需要很长时间才能运行。几个小时后,我成功地完成了它,我终于得到了一个很好的lcov报告。
如果能够在运行lcov -c时排除boost序列化代码的处理,那就太好了,但我还不能确切地知道如何做到这一点。(当然,我/希望/要覆盖使用boost序列化的代码,而不是boost头本身)即使将// LCOV_EXCL_START & LCOV_EXCL_STOP放在大多数序列化代码周围也不起作用,因为我认为这些排除标记只在调用-c时使用,而不是在lcov lcov上。
https://stackoverflow.com/questions/9022851
复制相似问题