2010-01-06 2 views
2

Я хочу скомпилировать приложение с отладочной информацией, используя gcc и gdb. Когда я делаю следующее, отладки (.dSYM) файлы генерируются правильно:gcc не генерирует файлы отладки

gcc -ggdb src/test.c -o build/test 

Если я, однако, разделить это на этапе компиляции и шаг ссылки, как это:

gcc -ggdb -c src/test.c -o build/test.o 
gcc -ggdb build/test.o -o dist/bin/test 

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

Как я могу позволить gcc генерировать файлы .dSYM при использовании отдельных шагов компиляции и ссылок?

ответ

2

Вы также можете указать -g3 в своих вариантах компиляции, чтобы gcc помещал символы отладки прямо в двоичный файл, а не в отдельный файл. Не уверен, что это то, что вам нужно.

+0

Вопрос: добавив -g3 поместит все символы отладки в корзину? Это будет то же самое, что и символы отладки из .dSYM? – 2013-08-21 12:50:29

2

Проверьте второй комментарий к первому ответу в this post.

Его причуда. Возможно, вы можете запустить программу «dsymutil» вручную, чтобы генерировать файлы dSYM.

Смежные вопросы