2009-07-30 10 views
31

Rozwijam c na linuxie używając vima i debugowania przy użyciu ddd. Jednak uważam, że ddd działa bardzo słabo podczas przewijania na tej maszynie, więc czasami jest bardzo frustrujące w użyciu.Co to jest dobra uniksowa alternatywa dla DDD (Data Display Debugger)?

Podobał mi się sposób, w jaki mapy ddd są dość zbliżone do zestawu poleceń gdb, ponieważ oznacza to, że mogę dowolnie używać poleceń gdb, ale sama opcja gdb nie jest opcją, ponieważ nie sprawdza się świetnie w wyświetlaniu. źródło.

Czy ktoś może zaproponować przyzwoitą alternatywę dla ddd? Nie szukam IDE, tylko rozsądnie dobrze zaimplementowana fasada gui do gdb, która jest wolnym oprogramowaniem.

+0

Próbowałem Nemiver, ale kliknięcie przycisku stop powoduje wyświetlenie okna dialogowego z napisem "Cel otrzymał sygnał: SIGINT, Interrupt", który należy kliknąć. To praktycznie wyklucza ten interfejs dla mnie. – frankster

+0

Etykiety narzędzi zajmują około 1/3 sekundy zbyt długo, aby wyświetlić się po wskazaniu zmiennej, którą chcesz wyświetlić. – frankster

+0

Głosowanie w celu zamknięcia jako narzędzie rec. –

Odpowiedz

9
+0

Pierwsze wrażenia: Pakiet opensuse11 jest błędny, a ikona, którą instaluje, nie uruchamia aplikacji, ale mogę ją uruchomić ja z/opt/kde3/bin/kdbg. Dołączenie do procesu zmusza do wpisania numeru procesu zamiast przeszukiwania listy procesów dla procesu o tej samej nazwie, co właśnie załadowany plik binarny. – frankster

+0

Zmienna wielkość wyświetlana w KDbg jest dobra. – frankster

+0

, ale z drugiej strony, wydaje się trochę trudu, aby wyświetlić wartości wyrażeń takich jak "Array [Index] .Struct.Member" – frankster

3

możesz: wgląd - debugger RedHat w oparciu o gdb

Narzędzia te mają również GUI:

Sun Studio Debugger

Nie używałem Sun Studio Debugger na jakiś czas, ale kiedyś miał własną wersję gvim i emacs, gdzie można było ustawić punkty przerwania, klikając obok kodu źródłowego.

Intel Debugger

I myślę Eclipse posiada integrację debuggera.

Myślę, że większość z tych narzędzi jest wciąż darmowa, ale niekoniecznie open source.

+0

jako dodatkowej uwagi, stara wersja z Sun Studio na Linuksie użył kompilatora gcc z gdb. Nie wiem, czy nadal jest kompatybilny, ponieważ teraz przesyłają swoje kompilatory do Linuksa. – Juan

+0

Przypisanie Insight do okna procesu jest błędne - skrzynka filtrów nic nie robi. Jednak przynajmniej tworzy listę procesów, która jest nieznaczną poprawą na kdbg. – frankster

+0

Rozwijane okno z listą funkcji do przeglądania w źródle jest miłym akcentem. – frankster

2

można spróbować xxgdb ale to bardzo stary, ja nawet nie wiem, czy to nadal utrzymane

2

Niestety nie próbowałem niczego poza GDB i DDD, ale istnieje list of GDB front-ends Wikipedia, w tym KDBG i xxgdb zgodnie z zaleceniami innych osób, ale kilka innych. Być może któryś z nich będzie działał dla ciebie, jednocześnie dając ci możliwość korzystania z poleceń GDB, kiedy chcesz. W szczególności, wymienia on Clewn (mam na myśli to wypróbować), który używa GVim jako front-end, a także cgdb, który działa w terminalu (za pomocą ncurses), ma klucze w stylu vi i pokazuje źródło podświetlone składnią .

4

Czy spojrzałeś na integrację Emacs GDB? Jest całkiem niezły, kiedy już się go nauczysz. Oto zrzut ekranu: http://p.blog.csdn.net/images/p_blog_csdn_net/ariesjzj/pic3.jpg.

Alternatywnie, istnieje Eclipse. Jest bardzo ładny i wydaje się dość obszerny, ale nie użyłem go zbyt wiele.

W przypadku braku tego, po prostu używam GDB w trybie TUI (wpisz "układ następny" wiele razy, aż wyświetlacz będzie wyglądał "ładniej").

Naprawdę naprawdę tęsknię za Visual Studio teraz, gdy utknąłem na rozwój systemów Linux i embedded.

+0

aha Nie wiedziałem o tym trybie TUI gdb.Nie jest świetny, ale z pewnością w pewnym stopniu odnosi się do mojego problemu z gdbem, który nie wyświetla zbyt dobrze źródła. – frankster

+0

Po prostu wpisuję układ - powoduje błąd, ale kończy się układem najbardziej mi użytecznym: D – frankster

+0

+1, ponieważ działa on w konsoli. Mogę więc nagrywać sesje z ttyrec i dzielić się nimi z byobu/screen. – matiu

7

Używam codziennie Eclipse CDT oraz Visual Studio i jest to bardzo dobre narzędzie, równie dobre jak Visual Studio. Wykorzystuje całą infrastrukturę Eclipse do stworzenia bardzo dobrego graficznego interfejsu gdb. Jest jak debugowanie Javy, ale z C++.

Jeśli nie chcesz generować projektów zaćmieniowych tylko do debugowania, ponieważ nadal chcesz używać vima jako edytora, możesz chcieć wiedzieć, że Cmake ma generator projektu zaćmienia.Niektóre linki, które może pomóc w sprawie tego problemu: 1, 2, 3

+3

W rzeczywistości można zdefiniować sesję gdb w środowisku Eclipse bez projektu. Po prostu zdefiniuj program w oknie dialogowym "Debuguj konfiguracje ...", prawdopodobnie używając opcji konfiguracji "Aplikacja C/C++". Po wypełnieniu wpisu "Aplikacja C/C++:" i ewentualnie "Argumenty", kliknij przycisk "Zastosuj" i "Debuguj", aby przejść do perspektywy debugowania. – ysap

+0

Nie musisz rezygnować z vima podczas korzystania z Eclipse. Używam plugin Eclipse [Vrapper] (http://vrapper.sourceforge.net/home/), który daje uzasadnioną ilość dobra vi. –

2

Nie rezygnuj całkowicie DDD. Zgadzam się, że interfejs wymaga gruntownego przeglądu, ale w 2007 roku było kilka rumblings, aby dokonać przeglądu GTK.

Pamiętaj też o numerze this.

+0

To jest trochę nieprzydatne dzisiaj (nawet ty daję ci +1 na fakt, że jest nadzieja na ddd;) – Johan

+0

Wygląda na to, że mogły być nadzieją w 2009 roku, ale w 2016 roku przegląd DDD wygląda raczej beznadziejnie .. – Atifm

Powiązane problemy