码迷,mamicode.com
首页 > 数据库 > 详细

解决GDB调试时“ No symbol table is loaded. Use the "file" command”问题

时间:2014-08-08 12:32:56      阅读:4489      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   文件   2014   

1.解决的办法 :

GDB调试时使用list命令时出现 “No symbol table is loaded. Use the "file" command”提示,其实是C编译器的选项CFLAGS没有设置好,gcc -o进行编译时不用不用写“-g”选项,只需在makefile文件开头写上“CFLAGS = -g”在编译时编译器就会自动使用CFLAGS的设置了。

2.探索的过程:

我的makefile文件是这样编写的:

bubuko.com,布布扣

“make clear”、“make main”、“gdb main”、“(gdb)l”后出现的错误信息如下:

bubuko.com,布布扣

解决办法,修改makefile如下(方法1):

bubuko.com,布布扣

或者修改makefile如下(方法2):

 bubuko.com,布布扣

其实上面方法1和方法2在gcc中设置-g选项都是多余的,只要加上“CFLAGS = -g”,编译时,编译器就会自动使用CFLAGS的选项,

修改makefile如下(方法3):

bubuko.com,布布扣

这是整个过程就是正确的,list出了要调试的程序主体:

bubuko.com,布布扣

OK,就可以开始用gdb调试程序了。

3.gcc编译链接选项的进一步说明

   1)CXXFLAGS表示用于C++编译的选项

   2)LDFLAGS表示传给链接器的选项

   3) CFLAGS表示C编译的选项

       -Wall    打开警告开关

       -o        代表默认优化

       -g        生成调试信息,生成的可执行文件具有和源代码关联的可调试信息(说明:可调试信息指的是可以用调试工具

                  调试你的可执行程序, 可以以C语言源代码形式查看变量、单步执行,否则,在调试时只能看到汇编单步执行,

                  不知道具体运行到哪一步了。)
 

解决GDB调试时“ No symbol table is loaded. Use the "file" command”问题,布布扣,bubuko.com

解决GDB调试时“ No symbol table is loaded. Use the "file" command”问题

标签:style   blog   http   color   使用   strong   文件   2014   

原文地址:http://www.cnblogs.com/Xylophone/p/3898391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!