Как отследить конкретные функции / файлы в C? - PullRequest
0 голосов
/ 22 мая 2019

Я уже знал, что аргумент GCC -finstrument-functions может перехватывать функции, а аргумент -finstrument-functions-exclude-file(functions)-list может исключать некоторые файлы / функции для отслеживания.

Но теперь мне нужно скомпилировать много файлов, и нужно отслеживать только некоторые из них.Интересно, могу ли я включить некоторые конкретные функции / файлы для отслеживания, например что-то вроде -finstrument-functions-include-file(functions)-list?

Большое спасибо!

1 Ответ

0 голосов
/ 22 мая 2019

GCC не поддерживает это из коробки (это скорее задача для вашей системы сборки). Один из распространенных способов добиться желаемого - написать оболочку оболочки, которая заменяет GCC и добавляет флаги, где это необходимо:

$ cat path/to/fake/gcc
#!/bin/sh
FLAGS=
if echo "$*" | grep -q 'myfile1.c'; then
  FLAGS=-finstrument-functions
fi
exec /usr/bin/gcc "$@" $FLAGS
$ export PATH="path/to/fake:$PATH"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...