Она скомпилирована Bazel, и я добавил параметры покрытия в свой BUILD.bazel. чтобы включить инструмент кода.
Код: Выделить всё
...
copt=["-O0", "--coverage"],
...
Когда я запускаю gcov foo.pic.gcno без каких-либо параметров, будет могут быть предупреждения об отсутствии строк, и может быть сгенерирован foo.cpp.gcov.
Код: Выделить всё
/some/path/foo.gcno: no lines for _ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiED2Ev
/some/path/foo.gcno: no lines for _ZN8eprosima8fastrtps4rtps35RTPSParticipantAllocationAttributesC2Ev
/some/path/foo.gcno: no lines for _ZN5boost4asio6detail7tss_ptrINS1_10call_stackINS1_14thread_contextENS1_16thread_info_baseEE7contextEEC2Ev
...
Lines executed:68.3% of 201
Creating 'foo.pic.gcov'
Код: Выделить всё
/some/path/foo.gcno: no lines for _ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiED2Ev
/some/path/foo.gcno: no lines for _ZN8eprosima8fastrtps4rtps35RTPSParticipantAllocationAttributesC2Ev
Segmentation fault
Я не могу быть уверен, что ошибка _ZN5boost4asio6detail7tss_ptrINS1_10call_stackINS1_14thread_contextENS1_16thread_info_baseEE7contextEEC2Ev является причиной ошибки сегментации.
Я читал много вопросов об ошибке сегментации gcov . Они сказали, что это в основном из-за несовпадения версий gcov и компилятора. Поэтому я проверил версию gcov и версию своего gcc и убедился, что они совпадают.
Код: Выделить всё
// compiler's version
gcc (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// gcov's version
gcov (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-fault