2013-01-21 47 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は関数呼び出しの結果を正しく表示できます。 –

関連する問題