Boost Wave (библиотека препроцессора, в состав которой входит драйвер командной строки) включает возможность трассировки для отслеживания расширений макросов. Хотя, возможно, это немного больше, чем вы просите - он отображает не только конечный результат, но, по сути, каждый шаг расширения макроса (даже очень сложного).
Препроцессор clang несколько похож. Это также библиотека, которая включает драйвер командной строки. Препроцессор определяет тип macro_iterator
и macro_begin
/ macro_end
этого типа, что позволит вам обходить таблицу символов препроцессора и делать с ней практически все, что вы хотите (включая печать символов) конечно).