在Windows上使用gdb进行调试时,Qt Creator不显示本地人

时间:2018-01-11 12:13:22

标签: debugging gdb qt-creator

我最近遇到了无法使用Qt Creator调试视图的问题。没有局部变量会出现,表达式评估器只能在某种程度上起作用。

我已经创建了这个微小的C程序来演示这个问题,尽管它也发生在标准的Qt应用程序中。

git checkout <remote_name>/<branch> -b <your_local_branch_name>

当我使用GDB在调试模式下运行该程序时,它会在断点处停止,它可以向前步进,但不会显示局部变量。这是调试器问题,因为如果我从命令行运行gdb,我可以轻松获取变量。表达式求值程序确实有效:它显示了您键入的表达式的值,但如果变量发生更改,则此表达式永远不会更新。

This is how it looks like while debugging the program. You can see that the expressions work, but no locals are shown.

我安装的版本如下:
操作系统:Windows 10
Qt:5.10.0用于MinGW 32位
GCC:5.3.0 MinGW 32位(我刚刚安装了Qt安装程序中推荐的那个)
GDB:适用于MinGW 5.3.0的7.10.1 QtCreator:4.5.0

我尝试使用更新版本的gcc和gdb完全相同,结果完全相同。此外,g ++也发生了同样的事情。

有谁知道,我怎么能解决这个问题?我真的很喜欢和QtCreator合作,但如果我无法解决这个问题,我可能不得不恢复到另一个IDE。 哦,如果您需要更多信息,请告诉我!

1 个答案:

答案 0 :(得分:0)

我也有这个问题。我添加了-O0来编译标志,使用了其他一些人推荐的解决方案,但没有成功。我最近在调试器设置中更改了一些内容,但不记得是哪个。几分钟前我终于解决了。

转到“工具”->“选项”->“调试器”->“ GDB”,然后清除“加载系统GDB漂亮打印机”的检查。现在,在达到断点后,我可以在右侧窗格中看到局部变量和范围变量。