Было бы очень полезно, если вы обновили свой вопрос для описания платформ и компиляторов, которые вы используете.
Стратегия, которую я использовал, - это запуск системы на эмуляторе, который может отслеживать все инструкции. Затем эту трассировку можно использовать для разработки покрытия кода.
В UNIX вы также можете запустить процесс, используя ptrace(), на один шаг приложения и тем самым зафиксировать выполняемые инструкции.
Если вы просто хотите отслеживать вызовы функций, вы можете сделать некоторые неприятные взлома таблицы связей процедуры, чтобы перейти к некоторому специализированному протоколу ведения журнала, но это, вероятно, сходит с ума.
Опять же, для получения полезного ответа потребуется более подробная информация о среде выполнения и уровне детализации.
У меня такая же проблема, что вы в конечном итоге использовали. можете ли вы опубликовать свое решение? – ransh 2017-08-01 20:45:36