-g gdb无法list

网上下的源码,编译之后居然不能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的文件的。。。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangzhenwen/article/details/51542223
个人分类: gdb调试
上一篇非法指针invalid pointer
下一篇openssl实践
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭