2010-10-26 8 views
6

Robię moje pierwsze kroki z GDB w trybie TUI.Problem z debugowanym wyjściem aplikacji w gdb

Podczas sesji debugowania widzę, że każda linia wyprowadzona do konsoli występuje w jednym wierszu (na zdjęciu widać 222222 zaznaczony na czerwono). To jest jak posiadanie panelu wyjściowego z jednej linii.

Co więcej, każdy \n nie oczyszcza tej linii, więc wszystkie napisy nadpisują się nawzajem, co powoduje, że moje dane wyjściowe są bardzo mylące.

Czy możesz mi pomóc w rozwiązaniu tego problemu, czy wskazać mi jakieś kluczowe polecenie, aby uzyskać czysty wynik?

Podświetliłem również inny obszar (na zdjęciu 1111111), ponieważ pierwszy ciąg jest tam wyprowadzany, a następnie wszystkie pozostałe w ramce okna kodu źródłowego.

alt text

Odpowiedz

9

Zawsze można odświeżyć tui screeen za każdym razem program wyprowadza coś z obowiązującymi Ctrl + klawisz L. Możesz też tymczasowo przejść do trybu normalnego, krokować i oglądać wyjście programu i powrócić do trybu TUI (Ctrl + X A). Zobacz wszystkie wiązania klawiszy here.

+0

Wielkie dzięki! Z CTRL + L & out tryb TUI wygląda lepiej. Czy mogę zadać jeszcze jedno pytanie? Czy znasz sposób tworzenia obszaru na ekranie GDB, podobnie jak VSStudio OUTPUT PANE? Chciałbym, aby obszar ekranu był w całości przeznaczony na wyjście konsoli i jednocześnie robił mój debugowanie/oglądanie mojego kodu. –

+0

Znalazłem to i mam nadzieję, że pomoże http://ftp.gnu.org/old-gnu/Manuals/gdb-5.1.1/html_node/gdb_183.html –

+1

O ile mi wiadomo, nie ma takiej funkcji w gdb jako OUTPUT PANE. Ale możliwe jest przekierowanie całego wyjścia programu do innego terminala za pomocą polecenia TTY gdb: http://sourceware.org/gdb/current/onlinedocs/gdb/Input_002fOutput.html#index-tty-127 – ks1322