[英]debugging global variable in eclipse (C/C++)
我編寫了這個示例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,並且想要調試此代碼。 s
和置zeroed
變量顯示在“變量”選項卡中。 但是, g_s
未顯示g_s
(這是全局變量)。 有什么辦法讓我看到其領域以及它們如何變化等?
編輯:剛發現有一個“添加全局變量”按鈕,但它是灰色的,所以我不能按它。
好的,所以在進一步搜索之后,我發現了這個 。 tl; dr-問題是我正在使用默認的GDB(DSF)進程啟動器。 顯然,這是一個已知問題(在上面的鏈接中有更多詳細信息)。
解決該問題的方法:轉到運行->調試配置,然后在打開的窗口底部檢查您正在使用的調試啟動器。 如果是GDB(DSF),則按下面的“選擇其他...”鏈接。 在打開的窗口中標記“使用特定於配置的設置”,然后選擇其他啟動器(在我的情況下是“ Legacy Create Process Launcher”)。 現在,“添加全局變量不應為灰色,您可以單擊它並選擇要觀看的變量。
留下問題以防萬一有人遇到相同的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.