Как определить, откуда была вызвана функция?
От: artem_korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 24.04.08 09:45
Оценка:
Захотелось мне в целях отладки собрать некоторую информацию о вызовах функций. Хотябы имена. В идеале — ещё и адрес вызывающего объекта и номер строки кода, откуда был сделан вызов.
Можно ли как-то из функции определить это, используя бинарник, собранный с отладочной информацией?

Отладчик (тот же gdb) в может вывести содержимое стека, указывая имена вызывающих функций. Можно ли сделать тоже самое? Может есть какие-либо библиотеки для отладки, которые это позволяют?

Самому пока на ум приходят какие-то кривоватые варианты с перегрузкой оператора вызова ().
С уважением, Artem Korneev.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.