2013-01-21 94 views
8

我做了Eclipse Juno 32位的新安​​裝,以及MinGW 32位的新安​​裝,我的平臺是Windows 7 64位。當試圖調試一個簡單的程序時,我可以看到非常簡單的表達式,但是更復雜的一切都會讓我錯誤。對於下面的程序爲例:使用MinGW進行Eclipse調試:無法執行MI命令

int main() 
{ 
    vector<int> vRings; 
    for(int i=0;i<50;i++) { 
    vRings.push_back(i%5); 
    } 
    //std::cout << "result:" << getRingNumber(vRings,vDiscs); 
    return 0; 
} 

在監視窗口,看vRings正常工作,但想觀看向量的內容不工作:

試圖觀看vRings [0] :

Error: Multiple errors reported.\ Failed to execute MI command: -var-create - * vRings[0] Error message from debugger back end: Could not find operator[].\ Unable to create variable object

試圖觀看vRings.at(0):

vRings.at(0) Error: Multiple errors reported.\ Failed to execute MI command: -var-create - * vRings.at(0) Error message from debugger back end: Cannot evaluate function -- may be inlined\ Unable to create variable object

我能做些什麼來解決PROBL他們嗎?

回答

0

您正試圖觀察函數調用的結果。 vRings.at()vRings[]都是返回值的引用的函數(後者是一個重載函數)。在你的情況 - 一個整數。

如果你想在索引0觀看的vRings值,你可以嘗試將它在某個時刻分配給一個變量,例如:

int main() 
{ 
     vector<int> vRings; 
     for(int i=0;i<50;i++) { 
     vRings.push_back(i%5); 
     } 
     int watchme = vRings.at(0); 
     //std::cout << "result:" << getRingNumber(vRings,vDiscs); 
     return 0; 
} 

然後你就可以觀察的變量watchme

+0

這需要修改代碼並且不可接受。當正常工作時,eclipse可以正確顯示函數調用的tte結果。 –