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

问题描述 投票:1回答:1

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

我已经创建了这个微小的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,我可以轻松获取变量。表达式求值器确实有效:它显示了您键入的表达式的值,但是如果变量发生变化,则表达式永远不会更新。

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。 哦,如果您需要更多信息,请告诉我!

debugging gdb qt-creator
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.