Отладка файлов ядра c ++ для выпущенного программного обеспечения - PullRequest
2 голосов
/ 06 апреля 2011

Я пытаюсь найти способ отладки основных файлов, присланных мне из выпущенных версий моего программного обеспечения (код c ++, скомпилированный с gcc).В идеале я хотел бы иметь возможность развертывать сборки выпуска и иметь под рукой отладочные сборки, чтобы использовать их для отладки, поэтому у меня есть таблицы символов и т. Д.сборки отладки и выпуска не гарантируются одинаковыми, поэтому файл ядра из поля может выглядеть как мусор, когда я запускаю GDB и указываю на мой исполняемый файл отладки.вот в чем подвох) без ущерба для размера или производительности моего выпущенного программного обеспечения?Это большое приложение, и производительность отладочной сборки, вероятно, не приемлема для клиентов.Я рассмотрел предложения по сборке один раз (отладка), затем удалил таблицы символов и отправил их в качестве сборки выпуска, но я собираюсь увидеть снижение производительности при таком подходе, не так ли?Есть ли у кого-нибудь предложения о том, что они пробовали или в настоящее время используют для решения этой проблемы?Спасибо!

1 Ответ

3 голосов
/ 06 апреля 2011

Вы можете скомпилировать и связать с включенной оптимизацией и по-прежнему генерировать символы отладки (-O3 -g), а затем извлекать символы отладки.Таким образом, у вас будут символы отладки, но вы сможете их поставлять без них, и у вас не будет потери производительности или чего-то еще.См. Как создать символ отладки gcc за пределами цели сборки? Как это сделать.

...