我正在使用Clion IDe,gcc / g ++& gdb for debugger。
在CMakeList.txt中,我设置了以下编译器选项。
set(CMAKE_CXX_FLAGS -std=c++11 -fopenmp -fPIC -O0 -gdwarf-2 -finline-functions)
我可以在main()中查看变量值,但不能查看任何其他类。它显示了从main直接或嵌套调用的所有方法的错误:
<error reading variable: Could not find the frame base for xxxxclass::xxxMethod>
任何指针都会有所帮助。
答案 0 :(得分:1)
我看到的几个问题:
-gdwarf-2
)。-O0
应正确禁用-finline-functions
)。但请注意,较新的矮人版本可以更好地处理和跟踪优化。-g
采用可选参数,默认情况下为2
,但其最大值可以为3
。然后它将解锁一些调试器功能,如调试CPP宏。-ggdb
启用GDB调试信息扩展。所以,请再试一次:
set(CMAKE_CXX_FLAGS -std=c++11 -fopenmp -fPIC -O0 -g3 -ggdb)