2010-02-03 12 views
5

Próbuję znaleźć problem w moim kodzie C++ i mam DDD do debugowania na komputerze Sun. Muszę używać ciągów według pewnego standardu, jaki mamy. Ale gdy DDD napotka zmienną łańcuchową, zawsze pojawia się jako pusta. Chcę pamiętać o tym, że z CVD w przeszłości miałem te same problemy z SGI.
Skrót od przepisywania mojego kodu, aby usunąć ciąg znaków Czy jest coś jeszcze, czego mógłbym spróbować użyć?Czy konto DDD może zawierać łańcuchy?

+2

Czy znaczy, że C++ class 'string' lub po prostu ciągi w ogóle? –

+0

Jaką wersję gdb? – Potatoswatter

Odpowiedz

1

Sprawdźcie here

one rozwiązywać je poprzez wdrożenie funkcji pomocnika, które mogą być używane przez gdb (powinny również działać dla DDD, ponieważ korzysta gdb)

1
p variablename.c_str() 

lub

display variablename.c_str() 
0

Zasadniczo, musisz utworzyć funkcję otoki, która drukuje twój ciąg, przekazując mu adres pamięci:

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

a następnie w gdb:

call gs(somevariable) 

Reference

Powiązane problemy