Как создать символы отладки с Makefile для C? [Linux] - PullRequest
10 голосов
/ 21 декабря 2009

Я пытаюсь использовать GDB и KDEvelop для отладки консольного приложения под Knoppix VM. KDevelop и GDB не ломаются на моих контрольных точках. Я подозреваю, что это потому, что у них нет отладочных символов.

Если я прав, как мне нужно изменить свой Makefile для их создания. Может быть проблема в другом?

С уважением, Ariel

Ответы [ 3 ]

15 голосов
/ 21 декабря 2009

Включить -g во флаги, отправленные компилятору и компоновщику. Переменными по умолчанию для этого являются CFLAGS и LDFLAGS соответственно.

Второй шаг: исключить -s из флагов (-s означает strip )

5 голосов
/ 21 декабря 2009

Если вы можете увидеть источник и установить точку останова, то, вероятно, у вас установлены отладочные символы. Тем не менее, обычная последовательность:

gcc -g -o (outputname) (source files...)
gdb outputname

Дайте больше подробностей о том, что вы делаете и какие сообщения вы видите, и мы можем быть более конкретными.

3 голосов
/ 20 декабря 2016

Полный пример будет:

CFLAGS =-g

all: program.o
    gcc -o program program.o

CFLAGS здесь применяется как к компилятору, так и к компоновщику.

...