Как получить имя функции, которая вызывает текущую функцию? - PullRequest
0 голосов
/ 28 января 2019

Я знаю, что можно использовать func для статического получения текущего имени функции.

Получить имя вызываемой функции в виде строки

Но еслиЯ хочу получить функцию, которая вызывает эту функцию, это должно быть сделано динамически.

Есть ли способ сделать это в C (без добавления arugment к текущей функции, которая передает имя функции вызывающей стороны)?

Я не хочу резко замедлять выполнение программы.Таким образом, GDB не вариант?

dladdr может быть полезным для общей библиотеки.Я хотел бы что-то для статически скомпилированного исполняемого файла.

http://man7.org/linux/man-pages/man3/dladdr.3.html

РЕДАКТИРОВАТЬ:

Подобные вещи не помогают.Если вы хотите получить имя функции вызывающего абонента для каждого вызываемого абонента, потребуется редактирование для каждой функции, что не является масштабируемым решением.

Как узнать имя функции вызывающего абонента?

Спасибо.

...