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) 这样的问题,一般有如下两种情况:
- 编译的时候没有在 gcc 命令中加上 -g 选项,导致可执行文件中没有调试信息;
- 调试的可执行文件不存在,这种情况一般是输入可执行文件名时手误导致的;
- 编译的是 C++ 程序,而且用的是 Makefile 工具,但是 Makefile 程序中用的变量为编译 C 语言程序的变量。如下:
当用 Makefile 编译 C++ 程序时,Makefile 中的两个变量应该为 CXX 和 CXXFLAGS, 而不是 CC 和 CFLAGS。
将上述两行改为:
以上是关于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.