-g gdb无法list

原创 2016年05月30日 23:51:30

网上下的源码,编译之后居然不能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的文件的。。。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

gdb如何调试没有符号表(未加-g选项的编译)的程序

很多时候,发行版的程序在编译的时候都是没有加上-g这个选项的,那么若是想调试一个程序,应该怎么办呢? 在加了-g选项时,是可以通过行号、函数名等进行断点的设置的,但是没有符号表的情况下,那么怎么来进...

gdb中list命令使用

在gdb调试器中list命令语句是列出源码。 #include #define N 100 int main() {     int i;     int j;     int n; ...

用GDB调试程序(二)

GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示:    /home/hchen> gd...
  • haoel
  • haoel
  • 2003-07-03 00:20
  • 97931

Centos下英文改中文及gcc,g++,gdb以及输入法的安装

对于Linux(centos)安装(在此我的是版本是6.5): 1.英文改中文方法:    在root模式下:    运行以下命令:      运行之后显示以下内容: 然后将其中的L...

g++/gcc编译参数 和 gdb常用调试命令

gcc[option|filename ]... g++[option|filename ]... 描述(DESCRIPTION) 1.预处理,生成.i的文件[预处理器cpp] 2.将预处...

如何安装g++/gdb

该文的word文档附在文后! 链接:http://pan.baidu.com/s/1bnFcMHD 密码:z7zk

gcc g++ gdb

gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编...

Linux下g++/gdb的简单安装和vim的配置

Linux下g++/gdb的简单安装和vim的配置首先说明,本片博客所讲的g++和gdb的安装以及vim的配置仅在Centos 6.0 版本上进行了测试,所以,不同的版本可能会出现差异! 注: g++...

linux下c程序编译过程及GCC,G++, GDB简介

GCC/G++是linux下非常著名的自由软件, 主要用于对C/C++程序进行编译,使之成为一个可执行文件,其基本格式为: gcc  [options] [file-name] g++ [opti...

g++和gdb简单使用

在编译之前我们需要在系统里安装G++ GCC,它们就是Linux下的C++/C的编译器。 代码如下 sudo apt-get install build-essential好,现在我们在文本编辑器...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)