2011-01-13 12 views
7

Estoy buscando una forma de que el Xcode IDE recoja los contenidos de mis extrañas clases de plantillas de Boost. Básicamente, las clases son lo suficientemente complejas como para que Xcode no pueda mostrar sus contenidos correctamente.Xcode C++ debugging

¿Hay algo así como el método de descripción Objective C o toString() en Java que Xcode buscará?

Por el momento solo estoy implementando los métodos de impresión() e invocándolos en gdb, pero eso puede confundir a otros desarrolladores.

+0

con suerte LLDB ayudará a mejorar la experiencia de depuración de C++ en Xcode – justin

Respuesta

1

Puede intentar hacer Custom Data Formatters para sus tipos y el depurador Xcode los usará.

+0

No es 100%, pero esto fue definitivamente en la dirección correcta. Terminé escribiendo métodos llamados debugString() que devolvían objetos NSString (que se filtraron, pero no importa). Luego los visualizo con un formateador como el siguiente: {$ VAR.debugString()}: s Idealmente, me gustaría conectarme a algo existente para que mis usuarios no tengan que hacerlo manualmente, pero esto es lo suficientemente simple como para hacerlo. explícalo. No funciona con std :: vector <> por alguna razón, pero ese es otro problema. ¡Gracias! – mousebird

+0

Algunos seguimiento, en caso de que alguien se encuentre con esto. Al final, la solución solo es algo funcional. Xcode parece tener algunos problemas con los formateadores de datos. La pantalla emergente solo funciona la mitad del tiempo y parece requerir que la visualización de variables regulares aparezca primero. Esto no funciona con ningún vector, a pesar de que Xcode identifica correctamente el tipo. En general, una implementación mediocre. Espero que lo hagan mejor en la próxima versión. – mousebird