Używałem normalnie gdb dla 1 lub 2 projektów. To znaczy. Wzywam gdb --args prog args
. gdb działa w tym samym tty co program, który debuguję.poczekaj na dołączenie gdb
Jednak mój najnowszy projekt modyfikuje narzędzie dtach. Jest to ekran podobny do programu, więc tty są przekierowywane gdzie indziej, dlatego muszę użyć funkcji dołączania gdb.
Problem z GDB Attack polega na tym, że nie możesz dołączyć od samego początku, ponieważ musisz najpierw uruchomić program, aby uzyskać pid do którego chcesz dołączyć.
Czy jest jakiś sposób, aby uzyskać program oczekiwania w punkcie do czasu dołączenia gdb?
Nie mogę używać gdbserver, ponieważ jestem na cygwin. Próbowałem też używać pause()
, ale to się zawiesiło, kiedy próbowałem kontynuować.
Mój zły komunikat na liście mailingowej narzekają, że gdbserver nie działa na Cygwin było od 9 lat temu. Przygotowałem go ostatniej nocy i działa dobrze. Z jakiegoś powodu plik binarny gdbserver nie znajduje się w repozytorium cygwin, prawdopodobnie ze względu na wąskie przypadki użycia dla cygwin. Istnieje również potencjalny sposób dołączenia gdb do programu od początku za pomocą kodu debugowania gdb. Dzięki za odpowiedzi. – rhlee