Gcc 为什么不';是否正在将调试符号添加到我的输出文件?
我试图编译一个项目,在我拥有的ARM板上运行。要使用调试器,我必须在生成的.elf文件中放入调试符号 我配置了所有内容并运行了makefile,结果如下:Gcc 为什么不';是否正在将调试符号添加到我的输出文件?,gcc,arm,compilation,flags,Gcc,Arm,Compilation,Flags,我试图编译一个项目,在我拥有的ARM板上运行。要使用调试器,我必须在生成的.elf文件中放入调试符号 我配置了所有内容并运行了makefile,结果如下: arm-elf-gcc -x assembler-with-cpp -c -mcpu=arm7tdmi-s -g -gdwarf-2 -Wa,-amhls=src/crt.lst src/crt.S -o src/crt.o arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-
arm-elf-gcc -x assembler-with-cpp -c -mcpu=arm7tdmi-s -g -gdwarf-2 -Wa,-amhls=src/crt.lst src/crt.S -o src/crt.o
arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=src/main.lst -MD -MP -MF .dep/main.o.d -I . -I./inc src/main.c -o src/main.o
arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=library/md5.lst -MD -MP -MF .dep/md5.o.d -I . -I./inc library/md5.c -o library/md5.o
arm-elf-gcc -c -mcpu=arm7tdmi-s -O0 -g -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=library/bignum.lst -MD -MP -MF .dep/bignum.o.d -I . -I./inc library/bignum.c -o library/bignum.o
arm-elf-gcc ./src/crt.o ./src/main.o ./library/md5.o ./library/bignum.o -mcpu=arm7tdmi-s -g -nostartfiles -T./prj/LPC2138_flash.ld -Wl,-Map=testFLASH.map,--cref,--no-warn-mismatch -nostdlib -L. -Wl,-static -ffunction-sections -Wl,--gc-sections -Wl,-s -fdata-sections -lc -lg -lnosys -o testFLASH.elf
我已经输入了-g标志,但是当我尝试查找调试符号时,我只得到:
C:\Users\stkerr\Code\EclipseWorkspace\LibraryWork>objdump -g testFLASH.elf
testFLASH.elf: file format elf32-little
这一点在我尝试在调试器中打开.elf文件时得到进一步确认,我得到一个关于该文件没有调试符号的错误
有人能指出我的arm elf gcc调用中的错误或我丢失的标志吗?在文档中多翻了一番之后,-Wl,-s就是问题所在 它将从生成的可执行文件中删除所有符号,包括调试信息