-g gdb无法list

  • Post author:
  • Post category:其他


网上下的源码,编译之后居然不能gdb list源码,不爽,查make里面有-g啊,为啥不能list代码啊。

居然,居然。。。。

makefile 如下:

gcc *.c -i *.o

gcc *.o -g -o exe

没有半点怀疑,makefile中有-g,为何不能list呢??

后修改如下:

gcc *.c -g -i *.o

gcc *.o -o exe

可以list源码了。

后来想想也是啊,由.c 生成.o,有-g才能将符号表生成到.o文件中。再编译成exe可执行文件才能list。

如果.o里本来就没有符号表,那exe表就不能list了。

编码多年了,好多细节没有理解,黄果树瀑布汗。。。

如下是网友说的:

我曾经遇到过这种问题。。。我是用.o文件gcc -g 生成一个可执行文件。但是可执行文件是不能够使用gdb的。。

只有使用.c通过gcc生成才能够进行调试的。。。。

gcc -g *.c -o *  这个是不能生成可gdb的文件的。。。



版权声明:本文为yangzhenwen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。