Предоставляет ли GCOV анализ покрытия кода для кода языка сборки

StackOverflow https://stackoverflow.com/questions/1367456

  •  21-09-2019
  •  | 
  •  

Вопрос

У меня есть приложение, которое я создаю с помощью GCC на хосте Linux для процессора ARM Target. Это сгенерированное исполнение ARM, которое я выполняю на доске разработки рук, у меня есть. Я хочу сделать анализ охвата кода:

  1. Будет ли GCOV показывать покрытие кода, если у меня есть исходные файлы сборки ARM в моей среде сборки?
  2. Если в моей среде сборки есть несколько исходных файлов x86, то будут ли GCOV показывать данные покрытия кода?

Спасибо. -ОБЪЯВЛЕНИЕ.

Это было полезно?

Решение

AFAIK, GCOV работает, предварительно обрабатывая исходный код C или C ++. Если у вас есть чистые файлы языка сборки, я не думаю, что GCOV когда -либо видит их.

Если это произойдет, я был бы удивлен, если бы он понял, как безопасно вставить код в произвольный код сборки, причем ARM достаточно общая, так что есть слабый шанс. Проблема с кодом сборки инструментов состоит в том, что сам код зонда для тестового покрытия может потребовать регистров, и нет безопасного способа узнать, для произвольной части сборщиков, а) какие регистры доступны, и б), если есть вставленная инструкция , сделает несколько других инструкций из -за дополнительного пространства (например, облегченный прыжок, относительный через вставленную инструкцию).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top