gdb no symbol 问题

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

gdb no symbol 问题

最近在rhel6上发现奇怪的问题,g++ -g 编译的程序,在gdb中打印不出任何变量的值。直到搜到了[这个]

  • 原因
    原版装的gcc低于4.8,因为项目中需要c++11的功能,将gcc升级到了4.8.2,而没有升级gdb,而gcc4.8生成的默认调试信息格式改为了DWARF4,老版的gdb不能解析。

  • 解决方法
    gcc -gdwarf-3

GDB调试信息——No symbol "xxx" in current context GDB调试信息——No symbol “xxx” in current context. 在使用GDB调试C++时遇到过一些很奇怪的问题: 1.GDB断点调试可执行文件或者Dumped Core文件时,无法显示源代码 2.GDB可以显示源代码,但单步调试或者打印局部信息时错误,显示No symbol “xxx” in current context. 在此将排查过程和解决... 阅读详情

相关推荐

C++(Qt)软件调试---验证GCC编译优化和生成调试信息(8)

我们可以通过学习GCC编译器参数,在程序编译时选择合适的优化参数和生成调试信息参数,在运行性能、程序大小、调试方便三个方向进行权衡利弊。 例如在不需要考虑性能时可以完全关闭优化,生成尽可能多的调试信息,以方便调试; 而有些程序运行需要一定的性能,就可以选择开启一定较低级别的优化。 文章中所述内容多有不足,欢迎一起交流学习。

mahuifa的博客 2378

gdbsymbol符号表文件的调试

今天在调试程序的时候发现,在测试部测试的程序都是剥离了符号表的,导致用gdb无法调试,只有找到符号表文件才能继续gdb调试,好在符号表文件是和程序一起发布的。之前一直没有用符号表文件进行调试过,今天记录一下。

tianyexing2008的博客 7032

出现GDB No symbol "xxx" in current context的几种原因分析

在进行gdb调试时(包括使用core dump文件调试),经常出现GDB No symbol “xxx” in current context问题,常见的几种原因如下: 1、使用gcc编译的时候未使用-g选项。或者加了-g选项,同时使用了-o选项。建议编译的时候使用-g选项的时候,同时使用-Og可以关闭编译优化(-O选项较低gcc版本不支持)。 2、编译的可执行程序的调试信息格式与GDB所支持的...

sj_djw的博客 1万+

【Linux】Linux下调试器-gdb

gdb

weixin_57149469的博客 1023

gdb 看变量遇到问题No symbol “fmt_out“ in current context

【代码】gdb 看变量遇到问题No symbol “fmt_out“ in current context。

菜鸡搞计算机 266

GDB调试入门与“No symbol in current context“问题

Linux下打开终端输入GDB,可以看到相关信息: 输入help获取帮助信息: 输入带调试程序: #include<stdio.h> void f() { printf("f() is called!!!\n"); } int main(int argc, char* argv[]) { printf("1\n"); printf("2\n"); printf("3\n"); printf("4\n"); f(); .

qq_44272681的博客 5535

GDB调试No symbol “a“ in current context.问题笔记

(这里博主是个初见程序设计一个月的大学牲,个人经验仅供参考,如有错误欢迎指正)这个问题出现在使用watch命令监视变量a的时候。

m0_73695363的博客 808

初次使用gdb调试器,出现的No symbol table is loaded. Use the "file" command.问题

初次使用gdb调试器,中间出了好多问题,例如标题所说的No symbol table is loaded.  Use the "file" command.问题,是最常见的。看书时,开章就提示注意-g问题,结果还是在这个-g上栽了沟,请初次使用者一定要注意这个问题! 总结一下进入gdb环境的基本步骤: 1. 首先使用gcc   -g    .c文件   -o  可执行文件名  进行编译,再使用

u010176547的专栏 5万+

gdb调试出现的No symbol table is loaded. Use the "file" command.问题

初次使用gdb调试器,中间出了好多问题,例如标题所说的No symbol table is loaded. Use the "file" command.问题,是最常见的。看书时,开章就提示注意-g问题,结果还是在这个-g上栽了沟,请初次使用者一定要注意这个问题! 总结一下进入gdb环境的基本步骤: 1. 首先使用gcc -g .c文件 -o 可执行文件名 进行编译,再使用...

HGJ515的博客 2200

CentOS下gdb升级(解决No symbol "***" in current context问题)

gcc升级到了发现gdb调试看不到中间变量信息了,提示No symbol "***" in current context。网上查资料怀疑是 1、下载最新版gdb 7.10.1源码包 http://ftp.gnu.org/gnu/gdb/, 我下载的是7.10版本http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz,将源码包放在/us

chinahospital的博客 2595

GCC升级到4.8之后,gdb调试No symbol "XXXXX" in current context问题

将GCC升级到4.8之后,使用旧版本的gdb,在调试时会出现以下2个问题: 1.  编译选项设为-g -O0,但是cgdb进去时不在main函数入口处。 2. 提示No symbol "XXXXX" in current context 以上问题是由于GCC 4.8使用dwarf4(gcc.gnu.org/gcc-4.8/changes.html),而GDB不识别。 解决方法有2种: 1

1313

初次使用gdb调试器,出现的No symbol table is loaded. Use the “file“ command.问题

初次使用gdb调试器,中间出了好多问题,例如标题所说的No symbol table is loaded. Use the "file" command.问题,是最常见的。看书时,开章就提示注意-g问题,结果还是在这个-g上栽了沟,请初次使用者一定要注意这个问题! 总结一下进入gdb环境的基本步骤: 1. 首先使用gcc -g .c文件 -o 可执行文件名 进行编译,再使用gdb + 可执行文件名进入gdb环境,进行调试。 命令如下如: (1) gcc -g test.c -...

天涯路的专栏 3263

gdb调试时No symbol "var" defined in current context,局部变量不可查看问题

调试程序时,在gdb内p var,会提示 No symbol "var" in current context. 即使没有使用任何编译优化选项,仍然不能查看,放狗搜了一下,可能是这些变量被优化到寄存器中,gdb无法读取。 解决方案: 在编译是加入 ‘-gstabs+’  选项,比如: g++ -g -Wall  -gstabs+ -o main.o main.cpp gdb main,

镇关西拳打鲁智深 6971

gdb调试中出现No symbol table is loaded. Use the "file" command.问题

在unix/linux系统下使用gdb进行调试时,如果出现: No symbol table is loaded. Use the "file" command. 原因是没有在Makefile中添加-g调试参数,或者添加位置出错,解决的办法是在Makefile文件的第一行加上: CFLAGS = -g 然后重新make即可。 转载于:https://www.cnblogs.com/soph...

weixin_30737433的博客 388

出现GDB No symbol “xxx“ in current context的几种原因分析

编译的时候,如果使用了-g选项,GCC4.8及其以上的版本默认使用-gdwarf-4 -fno-debug-types-section选项,也就是使用DWARF4调试信息格式。如果gdb的版本只支持DWARF2或者DWARF3,在使用gcc编译的时候可以使用-gdwarf-2或-gdwarf-3选项来指定调试信息格式,已和gdb保持一致。建议编译的时候使用-g选项的时候,同时使用-Og可以关闭编译优化(-O选项较低gcc版本不支持)。2、编译的可执行程序的调试信息格式与GDB所支持的不一致。

木牛的博客 703

linux环境gdb调试出现“No symbol table is loaded. Use the "file" command.”的问题

在linux环境下使用gdb调试的时候,出现了“No symbol table is loaded. Use the “file” command.”这样的提示,于是心生疑惑,这是为什么呢? 原来,在调试二进制文件的时候,我们需要在二进制文件中加入调试信息,而调试信息是怎么添加的呢?它是在编译的时候,通过-g选项添加的,即类似于gcc -g test.c -o test这样的命令。 因此,通...

学无止境 5657

gdb调试遇到的智障问题**No symbol table is loaded. Use the “file“command.**

No symbol table is loaded. Use the "file"command. gdbt调试使用list出现了以上错误 原因:编译可执行文件时遗漏了-g;

qq_44664843的博客 1009
上一篇: Android源码国内源
下一篇: ubuntu1604 将capslock修改为Control
senduo
博客等级 码龄20年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值