我最近遇到了一个问题,无法使用Qt Creator的调试视图。没有本地变量显示出来,表达式评估器只能在某种程度上工作。
我创建了这个小型C程序来演示这个问题,尽管在标准的Qt应用程序中也会发生这种情况。
当我使用GDB以调试模式运行此程序时,它会像应该一样在断点处停止,并且可以正常向前步进,但是没有显示任何本地变量。尽管如此,这不是一个调试器问题,因为如果我从命令行运行gdb,我可以轻松获取变量。表达式求值器确实起作用:它显示您键入的表达式的值,但是如果变量更改,则该表达式永远不会更新。
这是调试程序时的外观。您可以看到表达式有效,但未显示任何本地变量。
我安装的版本如下:
操作系统:Windows 10
Qt:5.10.0 for MinGW 32 bit
GCC:5.3.0 MinGW 32 bit(我只安装了Qt安装程序中推荐的那个)
GDB:7.10.1 for MinGW 5.3.0
QtCreator:4.5.0
我已经尝试过使用更新版本的gcc和gdb进行完全相同的操作,结果完全相同。同时,使用g ++也发生了同样的事情。
我创建了这个小型C程序来演示这个问题,尽管在标准的Qt应用程序中也会发生这种情况。
#include <stdio.h>
int main() {
int square, cube, i; // Breakpoint set in this line
for (i = 1; i <= 10; i++) {
square = i * i;
cube = i * square;
printf("i=%i \ti^2=%i \ti^3=%i\n", i, square, cube);
}
return 0;
}
当我使用GDB以调试模式运行此程序时,它会像应该一样在断点处停止,并且可以正常向前步进,但是没有显示任何本地变量。尽管如此,这不是一个调试器问题,因为如果我从命令行运行gdb,我可以轻松获取变量。表达式求值器确实起作用:它显示您键入的表达式的值,但是如果变量更改,则该表达式永远不会更新。
这是调试程序时的外观。您可以看到表达式有效,但未显示任何本地变量。
我安装的版本如下:
操作系统:Windows 10
Qt:5.10.0 for MinGW 32 bit
GCC:5.3.0 MinGW 32 bit(我只安装了Qt安装程序中推荐的那个)
GDB:7.10.1 for MinGW 5.3.0
QtCreator:4.5.0
我已经尝试过使用更新版本的gcc和gdb进行完全相同的操作,结果完全相同。同时,使用g ++也发生了同样的事情。
有人知道我该怎么解决这个问题吗?我很喜欢使用QtCreator,但如果无法解决这个问题,我可能不得不回到其他IDE。
哦,如果需要更多信息,请告诉我!