Я знаю о -finstrument-functions
:
Генерация инструментария вызовов для входа и выхода в функции. Сразу после входа в функцию и непосредственно перед ее выходом следующие функции профилирования вызываются с адресом текущей функции и ее сайта вызова. (На некоторых платформах __builtin_return_address не работает за пределами текущей функции, поэтому в противном случае информация сайта вызова может быть недоступна для функций профилирования.)
Но это только выводит адрес функции и вызывающегоа не какие-либо из входов или выходов функции.
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
Я хочу cout <<
аргументы, чтобы я мог провести тестирование whitebox / интегрирования: тестирование ввода и вывода наборафункционирует по пути выполнения в ответ на событие.
Я знаю, что мог бы выполнить желаемое контрольно-измерительное оборудование, запустив скрипт Python для своих желаемых функций.
ВОПРОС
Но есть ли способ выполнить этот инструментарий, используя только gcc
опции?
МЫСЛИ
Для этого используйте только gcc
и C ++, я думаю, мне нужен был бы способ перебрать аргументы функции, чтобы я мог вызывать оператор <<
каждого объекта.