簡體   English   中英

在Eclipse中調試全局變量(C / C ++)

[英]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”)。 現在,“添加全局變量不應為灰色,您可以單擊它並選擇要觀看的變量。

留下問題以防萬一有人遇到相同的問題。

我希望這個視覺描述對您有所幫助。


單擊Add Global Variables圖標(上方帶有眼鏡的綠色點):

在此處輸入圖片說明


位於“ Variables選項卡下:

在此處輸入圖片說明


這是兩者的縮小圖:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM