GCC 4.8 gdwarf2无法工作
我的gdb版本是6.6,gcc版本是4.8。我知道默认情况下,GCC 4.8 gdwarf2无法工作,gcc,Gcc,我的gdb版本是6.6,gcc版本是4.8。我知道默认情况下,gcc-g使用dwarf-4格式,但是gcc手册说添加-gdwarf-2选项可以使用较旧的dwarf格式。我试过了,但是不行。当我使用gdb时,它仍然报告: Dwarf Error: wrong version in compilation unit header (is 4, should be 2) 根据说明,您应该使用-gdwarf-2-gstrict dwarf选项完全禁用DWARF4功能: GCC现在也为尾声生成展开信息
gcc-g
使用dwarf-4格式,但是gcc手册说添加-gdwarf-2
选项可以使用较旧的dwarf格式。我试过了,但是不行。当我使用gdb时,它仍然报告:
Dwarf Error: wrong version in compilation unit header (is 4, should be 2)
根据说明,您应该使用-gdwarf-2-gstrict dwarf
选项完全禁用DWARF4功能:
GCC现在也为尾声生成展开信息。矮人调试信息
由GCC生成的现在比以前使用了更多的DWARF3功能,并且
还有一些矮人功能。早于7.0的GDB无法处理
为了调试GCC4.5生成的二进制文件或库
需要GDB7.0或更高版本。您可以禁用DWARF4功能的使用
使用-gdwarf-3-gstrict dwarf选项,或使用-gdwarf-2
-gstrict dwarf将GCC限制为仅DWARF2,但无论何时发出展开信息,都会无条件地发出尾声展开信息
您可能应该使用
-gdwarf-2
选项从头开始重建应用程序。$g++-g-gdwarf-2-o test test.cpp,这是我的gcc命令