2010-02-03 9 views
5

Estoy tratando de resolver un problema en mi código C++ y tengo que depurar DDD en una máquina Sun. Estoy obligado a usar cadenas según algún estándar que tenemos. Pero cada vez que DDD encuentra una variable de cadena, siempre aparece como vacía. Quiero recordar haber tenido el mismo problema al usar CVD antes en un SGI.
A falta de volver a escribir mi código para eliminar la cadena ¿hay algo más que pueda probar/usar?¿Puede la cuenta DDD para cadenas?

+2

¿Se refiere a la clase de C++ 'cadena' o simplemente cadenas en general? –

+0

¿Qué versión de gdb? – Potatoswatter

Respuesta

1

Tener una mirada here

lo solucionan mediante la implementación de una función auxiliar que puede ser usado por GDB (también debe trabajar para DDD, ya que utiliza el BGF)

1
p variablename.c_str() 

o

display variablename.c_str() 
0

Básicamente, debe crear una función de contenedor que imprima su cadena, pasándole una dirección de memoria:

void gs(string &s) { cout << s << endl; } 

y luego en GDB:

call gs(somevariable) 

Reference