Влияние / недостатки rdynamic gcc option

Я работал над проектом Big C ++, который имеет огромный источник размером около 300 МБ и более 800 файлов. Я хочу получить стек вызовов при двоичных сбоях, поэтому я захватил сигнал и записал стек вызовов из backtrace_symbols в файл. Но чтобы получить имена символов из backtrace_symbols, я скомпилировал с флагом компоновщика ‘-rdynamic’. Я хочу знать, что использование ‘-rdynamic’ влияет на любые проблемы ..?

Я знаю, что это влияет на производительность,
Повлияет ли добавление опции -rdynamic linker на gcc / g ++ на производительность?

Но делает ли это
Значительно повлиять на производительность ..?

Это выставляет мой исходный код ..? [Я знаю, что не будет, я просто хочу быть уверен]

Влияет ли это на общую производительность во время выполнения или время запуска?

Каковы недостатки «Rdynamic» ..?

10

Решение

В: Но сильно ли это влияет на производительность?

A: Я использовал его в большом проекте без какой-либо деградации.

Q: Это выставляет Мой Исходный код ..?

A: Нет, это просто выставляет имена функций.

Q: Влияет ли это на общую производительность или время запуска?

A: По моему опыту, нет. Большинство функций уже экспортированы. Обычно это добавляет статические функции.

Q: Каковы недостатки «Rdynamic» ..?

A: rdynamic может использоваться с dlopen() иметь общую / глобальную таблицу символов для исполняемого файла, которая была обязательна в моем проекте (dynamic_cast<> будет работать через ТАК границы). Недостатком является столкновение имени функции между SO.

11

Другие решения

Других решений пока нет …