我正在使用gcc 4.7和gcc 4.8以及QtCreator 2.7.1.
问题是,当我使用gcc 4.8时,我无法在调试模式的"Locals and Expressions"窗口中看到我的变量值 :

虽然gcc 4.7工作正常:

我试图通过使用QtCreator选项来修复此问题,但无济于事.
我不确定,如果这实际上与编译器版本有关,但是一旦我使用旧版本重建问题就会消失.
hlu*_*luk 15
原因可能是gcc 4.8默认使用更新的格式来存储调试信息(http://gcc.gnu.org/gcc-4.8/changes.html).如果您使用的gdb版本低于7.5(请参阅参考资料gdb --version),则需要-gdwarf-3使用gcc 4.8 提供使用调试信息进行编译的参数.
调试器太新而不是太旧会导致相同的症状!
在这种情况下,它不是关于GDB版本,而是关于在构建时嵌入到它的Python版本.Ubuntu 13.10附带了一个用嵌入式Python3而不是Python2构建的GDB.Qt Creator(在撰写本文时)与此不兼容.
您可以通过从终端运行并键入以下内容来检查您是否拥有Python2 GDB:
(gdb) python print sys.version
Run Code Online (Sandbox Code Playgroud)
如果你得到一个无效的语法错误,你可能有Python3.这需要围绕要打印的内容括号,所以请尝试:
(gdb) python print(sys.version)
Run Code Online (Sandbox Code Playgroud)
当3.x.x回复时,Qt Creator的Python调试脚本将无法正常工作.因此,您需要使用Python2获取GDB.
这是关于它的我的博客文章:QtCreator调试器在Ubuntu 13.10中不显示本地.