我正在尝试使用 GDB 和 KDEvelop 在 Knoppix VM 下调试控制台应用程序。KDevelop 和 GDB 不会在我的断点处中断。我怀疑这是因为它们没有调试符号。
如果我是正确的,我该如何更改我的 Makefile 来创建它们。也许问题出在其他地方?
问候, 爱丽儿
我正在尝试使用 GDB 和 KDEvelop 在 Knoppix VM 下调试控制台应用程序。KDevelop 和 GDB 不会在我的断点处中断。我怀疑这是因为它们没有调试符号。
如果我是正确的,我该如何更改我的 Makefile 来创建它们。也许问题出在其他地方?
问候, 爱丽儿
包含-g
在发送到编译器和链接器的标志中。这个的默认变量是CFLAGS
和LDFLAGS
分别。
第二步:-s
从标志中排除(-s
意味着strip)
如果您能够看到源代码并设置断点,那么您可能已经建立了调试符号。但是,通常的顺序是:
gcc -g -o (outputname) (source files...)
gdb outputname
提供更多关于你在做什么以及你看到什么信息的细节,我们可以更具体。
完整的例子是:
CFLAGS =-g
all: program.o
gcc -o program program.o
这里CFLAGS
适用于编译器和链接器。