2013-01-21 15 views
8

Ho eseguito una nuova installazione di Eclipse Juno 32 bit e una nuova installazione di MinGW 32 bit, la mia piattaforma è Windows 7 a 64 bit. Quando provo a eseguire il debug di un programma semplice, posso guardare espressioni molto semplici, ma tutto ciò che è più complicato mi dà un errore. Per un esempio nel seguente programma:Eclipse debug con MinGW: impossibile eseguire il comando 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; 
} 

Nella finestra di controllo, a guardare vRings funzionano normalmente, ma cercando di guardare il contenuto del vettore non funziona:

cercando di guardare 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

cercando di guardare 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

Cosa posso fare per risolvere il probl em?

risposta

0

Si sta provando a guardare il risultato di una chiamata di funzione. Entrambe vRings.at() e vRings[] sono funzioni (quest'ultima è una funzione sovraccaricata) che restituiscono un riferimento a un valore. Nel tuo caso - un numero intero.

Se volete guardare il valore di vRings di indice 0, si può provare a assegnarlo a una variabile ad un certo punto, per esempio:

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; 
} 

allora si può guardare la variabile watchme.

+0

Ciò richiede di modificare il codice e non è accettabile. Quando funziona correttamente, eclipse può visualizzare correttamente i risultati delle chiamate di funzione. –

Problemi correlati