TL; DR. Нет, не с B CC. Возможно, вы захотите проверить BPF CO-RE .
Есть две части, чтобы решить эту проблему для b cc. Во-первых, вам нужно скомпилировать объектный файл с программой BPF и картами, которые будут работать в вашей целевой системе (те же версии ядра / заголовки и те же соглашения, что и Linux загрузчик BPF). Во-вторых, вам нужен компонент пользовательского пространства B CC для распознавания и работы с этой программой и картами.
В настоящее время B CC не поддерживает ни один из этих параметров. Моя ветка имеет (несколько устаревшую) ветку , где я реализовал поддержку для выгрузки объектного файла на диск с соглашениями, которые позволяют вам загружать его в ядре Linux. Это, вероятно, неполно для вашей цели, так как я только пытался загрузить программу в ядро; Мне было все равно, что случилось потом. Также была проделана определенная работа по запуску инструментов B CC на удаленных системах , но я не знаю, каково это текущее состояние.
Одна предпринимаемая попытка решить вашу проблему - BPF CO-RE. BPF CO-RE позволяет вам разрабатывать программы трассировки BPF, которые переносимы между Linux версиями. Поэтому вам не нужно компилировать с Linux заголовками целевой системы и не нужно LLVM / Лови больше. Команда этих усилий недавно опубликовала две статьи о принципах и внутренней работе BPF CO-RE и о том, как это применимо к инструментам B CC .