gpt4 book ai didi

c - 在eclipse中调试全局变量(C/C++)

转载 作者:行者123 更新时间:2023-11-30 16:57:51 25 4
gpt4 key购买 nike

我编写了这个示例 C 程序:

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

#define SIZE 10

typedef struct _sampleStruct{
int f1;
double f2;
int f3[SIZE];
}sampleStruct;

sampleStruct g_s;

int main() {

sampleStruct s;
sampleStruct zeroed = {0};
s.f1 = g_s.f1 = 1;
s.f2 = g_s.f2 = 2.0;
for (int i = 0; i < SIZE; ++i) {
s.f3[i] = g_s.f3[i] = i*10;

}
memset(&s, 0, sizeof(sampleStruct));
printf("s: %d, g_s: %lf, zeroed: %d", s.f1, g_s.f2, zeroed.f3[3]);

return 0;
}

我正在使用 Eclipse Mars IDE,并且我想调试此代码。szeroed 变量显示在变量选项卡中。然而,g_s(这是一个全局变量)没有显示在那里。有没有办法让我看到它的字段以及它们如何变化等?

编辑:刚刚发现有一个“添加全局变量”按钮,但它是灰色的,所以我无法按它。

最佳答案

好的,经过更多谷歌搜索后,我发现 this 。tl;dr - 问题是我使用的是默认的 GDB(DSF) 进程启动器。显然这是一个已知问题(上面的链接中有更多详细信息)。

你应该采取什么措施来解决这个问题:转到“运行”-->“调试配置”,然后在打开的窗口底部检查您正在使用哪个调试启动器。如果是 GDB(DSF),则按其下方的“选择其他...”链接。在打开的窗口中标记“使用配置特定设置”,然后选择不同的启动器(在我的例子中是“旧版创建进程启动器”)。现在“添加全局变量”不应该是灰色的,你可以点击它并选择你想要观看的变量。

留下问题以防有人遇到同样的问题。

关于c - 在eclipse中调试全局变量(C/C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39265556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com