Предоставляет ли GCOV анализ покрытия кода для кода языка сборки
-
21-09-2019 - |
Вопрос
У меня есть приложение, которое я создаю с помощью GCC на хосте Linux для процессора ARM Target. Это сгенерированное исполнение ARM, которое я выполняю на доске разработки рук, у меня есть. Я хочу сделать анализ охвата кода:
- Будет ли GCOV показывать покрытие кода, если у меня есть исходные файлы сборки ARM в моей среде сборки?
- Если в моей среде сборки есть несколько исходных файлов x86, то будут ли GCOV показывать данные покрытия кода?
Спасибо. -ОБЪЯВЛЕНИЕ.
Решение
AFAIK, GCOV работает, предварительно обрабатывая исходный код C или C ++. Если у вас есть чистые файлы языка сборки, я не думаю, что GCOV когда -либо видит их.
Если это произойдет, я был бы удивлен, если бы он понял, как безопасно вставить код в произвольный код сборки, причем ARM достаточно общая, так что есть слабый шанс. Проблема с кодом сборки инструментов состоит в том, что сам код зонда для тестового покрытия может потребовать регистров, и нет безопасного способа узнать, для произвольной части сборщиков, а) какие регистры доступны, и б), если есть вставленная инструкция , сделает несколько других инструкций из -за дополнительного пространства (например, облегченный прыжок, относительный через вставленную инструкцию).