2009-09-02 4 views
2

У меня есть приложение, которое я создаю с использованием gcc на Linux-хосте для целевого процессора ARM. Этот сгенерированный исполняемый файл, который я исполняю, на плате разработки ARM у меня есть. я хочу сделать некоторый анализ покрытия кода:gcov дает анализ покрытия кода для кода ассемблера

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

спасибо. -AD.

ответ

2

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

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

Смежные вопросы