Можно ли собирать покрытие кода для общей библиотеки (.so) без использования исполняемого файла в LLVM?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Можно ли собирать покрытие кода для общей библиотеки (.so) без использования исполняемого файла в LLVM?

Сообщение Anonymous »

Я работаю с приложением Android (APK), которое использует JNI и зависит от общей библиотеки. Я изменил параметры сборки, чтобы включить приборы покрытия кода. After running the APK on an Android device and pulling the .profraw files from the device, I merged them into a .profdata file using llvm-profdata merge.
However, I am unable to generate code coverage reports in HTML format because the llvm-cov tool requires an executable file as input, but my target is Общая библиотека ( файл). Поскольку .llvm-cov не может принять общую библиотеку в качестве ввода непосредственно, я ищу способ использовать файл .so или некоторый обходной путь для анализа данных охвата. Я также попытался связать общую библиотеку с небольшой исполняемой программой и запустить ее локально, но моя цель - избежать создания дополнительного исполняемого файла с единственной целью создания отчетов о покрытии. < /P>

Код: Выделить всё

➜  test llvm-cov show --instr-profile default.profdata libmap-render.so
warning: libmap-render.so: profile data may be out of date - object is newer
error: libmap-render.so: Failed to load coverage: No coverage data found
Я ожидал, что можно либо:
  • Используйте файл .so непосредственно с LLVM-cov .
  • Найдите метод, чтобы связать общую библиотеку в отчет о том, что нужно, чтобы он был подготовлен, чтобы (по-прежнему исполняет, чтобы (по-видимому, не нужно. />
Решение, которое я ищу, должно позволить мне генерировать отчет о покрытии HTML без необходимости создавать новый исполняемый файл из файла .so , так как у меня уже есть .profraw

Подробнее здесь: https://stackoverflow.com/questions/797 ... hout-using
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»