Potrzebuję wyjaśnień na temat działania GDB w środowisku IDE w chmurze9

Czy istnieją dwie rzeczy różne typy debugerów, które IDE środowisko?

  • Debugger, poprzez debug polecenie, które wygląda jak kompilacja krok po kroku / sprawdza dane wejściowe? (dla pliku źródłowego)

  • GDB, który sprawdza program wykonywalny?

Ponadto, w jaki sposób przekazuje się argumenty do GDB? Wydaje się, że nie potrafię tego rozgryźć.

Patrzę na pset4 i chcę uruchomić GDB na pliku wykonywalnego „copy” i przekazać dane wejściowe oraz nazwę pliku wyjściowego

jak mam to zrobić w terminalu

EDYTUJ

także mój debugger też jest zawsze uszkodzony

Odpowiedź

Aby uruchomić GDB z argumentami w terminalu, użyj parametru –args.

gdb --args name arg1 arg2 arg3

debug50 (graficzny debugger) to po prostu GDB z GUI. GDB został pierwotnie zaprojektowany do uruchamiania przez terminal i nadal jest. Jest znacznie bardziej elastyczny niż jakikolwiek debugger graficzny.

Jednak oto kilka podstaw:

  • Debugowanie krok po kroku: next (or n)
  • Punkt przerwania jest ustawiany za pomocą break (or b) [function or line number], na przykład:

    break main lub break 20 gdzie „20” to linia do przerwania.

  • Uruchom program z run (or r).

  • Użyj continue or c, aby przejść do następnego punktu przerwania.

  • Aby wydrukować zmienną wewnątrz GDB (nie używając printf()), wpisz print varname.

Alternatywnie, gdy znasz już kilka poleceń, możesz uruchomić swój program z kilkoma argumentami za pomocą [r]un arg1 arg2 arg3.

Jeśli chodzi o problemy z debug50, przykro mi to mówić, że poprzednik debug50 był zepsuty i wygląda na to, że debug50 jest teraz również uszkodzony. Przynajmniej nigdy nie udało mi się tego naprawić.

Komentarze

  • dzięki za bardzo dogłębną odpowiedź !. Kolejne pytanie, czy GDB jest preinstalowany w niektórych środowiskach linux Bash i może w wierszu poleceń Windows?
  • GDB jest preinstalowany w każdej dystrybucji Linuksa, o ile wiem, a na pewno w najpopularniejszych (arch, debian, ubuntu itp.). Aby uzyskać go w systemie Windows, być może będziesz musiał użyć Cygwin lub MinGW (kolekcji narzędzi i rzeczy Linux / GNU / POSIX). Nie ' nie wiem, czy " oficjalne " pobieranie ze strony pobierania GDB gnu.org/software/gdb faktycznie obsługuje windows, nie próbowałem '.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *