g++ 编译,GDB调试时发生这样的问题(No debugging symbols found in xxxx)

Posted 小丑快学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了g++ 编译,GDB调试时发生这样的问题(No debugging symbols found in xxxx)相关的知识,希望对你有一定的参考价值。

GDB 调试C++程序,出现 **(No debugging symbols found in xxxx)**这样的语句,并且无法在程序上打断点等。
出现 (No debugging symbols found in xxxx) 这样的问题,一般有如下两种情况:

  1. 编译的时候没有在 gcc 命令中加上 -g 选项,导致可执行文件中没有调试信息;
  2. 调试的可执行文件不存在,这种情况一般是输入可执行文件名时手误导致的;
  3. 编译的是 C++ 程序,而且用的是 Makefile 工具,但是 Makefile 程序中用的变量为编译 C 语言程序的变量。如下:

    当用 Makefile 编译 C++ 程序时,Makefile 中的两个变量应该为 CXXCXXFLAGS, 而不是 CCCFLAGS
    将上述两行改为:

以上是关于g++ 编译,GDB调试时发生这样的问题(No debugging symbols found in xxxx)的主要内容,如果未能解决你的问题,请参考以下文章

g++ 编译,GDB调试时发生这样的问题(No debugging symbols found in xxxx)

gdb 调试中No symbol “***” in current context解决方法

使用gdb调试程序时提示No symbol table is loaded. Use the "file" command.

调试器gdb

即使使用 -g 标志编译,gdb 中也没有调试符号

GDB 调试Coredump问题