2011-12-28 7 views
5

Cuando intento acceder a un vector en el depurador de VC++ 2010, los únicos elementos disponibles son "_M_start", "_M_end" y "_M_end_of_storage". Un ejemplo captura de pantalla de la siguiente manera:Depuración de vectores de Visual C++ 2010 - no se muestra contenido

Vector debug issue example

Recuerdo hace un tiempo ser capaz de acceder a los contenidos reales de un vector, pero durante mucho tiempo esto no ha sido el caso (que he sido capaz de vivir con eso por un tiempo). ¿Hay una configuración/función particular que desactivé accidentalmente o me falta algo por completo?

+2

¿Está utilizando STLport o MS STL? – NirMH

+1

O su instalación de VC++ está estropeada o está usando un código STL no VS2010 que no ha sido recompilado para VS2010 –

+0

Primero es una compilación de depuración y ¿tiene símbolos de depuración? En segundo lugar, puede eliminar su solución * .sdf para reiniciar intellisense, etc. – AJG85

Respuesta

2

Se sabe que VS IDE no puede mostrar información de depuración de contenedores STL que no son propiedad de Microsoft STL. tuve el mismo problema al usar la biblioteca STLPort.

pero, igual puede usar el reloj para explorar el contenido del vector, sería más tedioso. Puede acceder a los elementos del vector utilizando un enfoque de indexación de matriz sobre el miembro _M_start. Añadir a su reloj

meshEdges._M_start[0] 

A continuación, podrá ver el contenido del primer elemento del vector. No hay una manera simple de explorar/ver los elementos del vector completo, tendrá que repetirlo usted mismo, pero todavía es algo.

Puede leer más en este enlace http://umairsaeed.com/2009/11/23/visualizing-stlport-data-structures-in-visual-studio-debugger. Describe cómo agregar el "conocimiento" anterior al componente VS IDE Watch. No estoy seguro de que esté actualizado en su compilador VS2010, pero puede explorarlo usted mismo.

+0

Gracias, podría ver un visualizador autoexp específico para los contenedores STL que utiliza el SDK que estoy usando. De cualquier forma, como mencionaste, hay otros métodos (aunque más tediosos) para depurar vectores. –

Cuestiones relacionadas