2011-12-28 7 views
5

Quando provo ad accedere a un vettore nel debugger VC++ 2010, gli unici elementi disponibili sono "_M_start", "_M_end" e "_M_end_of_storage". Un esempio screenshot come segue:Debug vettoriale Visual C++ 2010 - nessun contenuto mostrato

Vector debug issue example

Mi ricordo un po 'indietro essere in grado di accedere al contenuto effettivo di un vettore, ma per molto tempo non è stato il caso (sono stato in grado di vivere con esso per un po '). C'è una particolare impostazione/funzione che ho accidentalmente disattivato o mi manca qualcosa completamente?

+2

stai usando STLport o MS STL? – NirMH

+1

L'installazione di VC++ è rovinata o si sta utilizzando un codice STL non VS2010 che non è stato ricompilato per VS2010 –

+0

Per prima cosa si tratta di una build di debug e si dispone di simboli di debug? In secondo luogo è possibile cancellare la soluzione * .sdf file per ripristinare intellisense ecc. – AJG85

risposta

2

È noto che VS IDE non può visualizzare le informazioni di debug dei contenitori STL che non sono STL di Microsoft. Ho avuto lo stesso problema durante l'utilizzo della libreria STLPort.

ma, è ancora possibile utilizzare l'orologio per esplorare il contenuto del vettore, sarebbe solo più noioso. È possibile accedere agli elementi del vettore utilizzando un approccio di indicizzazione di array sul membro _M_start. Aggiungi al tuo orologio

meshEdges._M_start[0] 

Sarai quindi in grado di vedere il contenuto del primo elemento del vettore. Non c'è un modo semplice per esplorare/visualizzare gli elementi dell'intero vettore, dovrete farlo iterarlo da soli, ma è ancora qualcosa.

Ulteriori informazioni in questo collegamento sono disponibili http://umairsaeed.com/2009/11/23/visualizing-stlport-data-structures-in-visual-studio-debugger. Descrive come aggiungere la "conoscenza" di cui sopra al componente VS IDE Watch. Non sono sicuro che sia aggiornato al tuo compilatore VS2010, ma puoi esplorare te stesso.

+0

Grazie, potrei esaminare un visualizzatore di autoexp specifico per i contenitori STL dell'SDK che sto usando. Ad ogni modo, come hai detto, ci sono altri (anche se più noiosi) metodi per eseguire il debug dei vettori. –

Problemi correlati