L'unico modo che ho trovato è stato questo:
call 'operator<<(std::ostream&, myclass&)'(mycout, c)
Dal std::cout
non era visibile a gdb per qualche ragione, ho dovuto ricorrere a creare il mio in questo modo:
std::ostream mycout(std::cout.rdbuf());
È non hai indicato alcun motivo per voler farlo ma non sarà più semplice con lo print yourvariable
?
Se questo è un assoluto necessario si potrebbe avere un metodo Print
nella classe e chiamare che dal operator<<
e quindi chiamare il metodo Print
sull'oggetto da gdb.
Prendere nota che lo stdout è probabilmente memorizzato nel buffer in gdb in modo da non visualizzare alcun output a meno che non lo si reindirizzi in qualche modo.
Vedere la discussione this dall'archivio di posta di gdb relativo a questo problema.
fonte
2010-09-30 17:35:40
Digito il comando 'stampa' per stampare variabili e oggetti. –
Sto lavorando con una classe in cui l'operatore << fa molto in modo che l'informazione sia leggibile, quindi è un po 'fastidioso usare la stampa e avere dati grezzi. – Ben