Непосредственно перед компиляцией кода препроцессор C расширяет все ваши макросы.Это означает, что даже компилятор не может видеть определения макросов.К сожалению для вас, это означает, что нет никакой возможности включить макросы в трассировку вызовов функций.
В зависимости от того, насколько хорошо вы знаете среду выполнения, иногда вы можете подсчитать, где находятся фреймы трассировки стека из вашего текущегоположение в стеке.К сожалению, это часто уловка, когда точные детали работают только для одной среды.Вам необходимо повторно выполнить обнаружение семантики стека для каждой среды. Вот проект, который выполняет такую технику , но невозможно определить, будет ли он очень полезен для вас.
Обратите внимание, что такая техника, скорее всего, также не будет отображать какой-либо компилятор в-линии, так как вызов функции переписывается, чтобы не существовать, когда компилятор помещает эквивалентный функциональный код в вызывающий блок.
Если вы не можете найти аналогичный проект с Google для вашей конкретной среды, выпридется написать самому.Если это вам не нужно, вам нужно выяснить, стоит ли изучать подробности низкоуровневой среды или лучше выполнять более надежную регистрацию.