GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu použít GDB v Eclipse pro ladění C/C++?

Následující pokyny jsou pro Eclipse 3.5 (Galileo). Pro 3.6 (Helios) jsou podobné kromě odkazu v kroku 2.

  1. Přejděte na Nápověda> Instalovat nový software.
  2. Přidejte úložiště CDT http://download.eclipse.org/tools/cdt/releases/galileo do seznamu úložišť.
  3. Vyberte úložiště CDT. Nyní musíte nainstalovat plugin CDT spolu s podporou GDB ze seznamu dostupných pluginů (vyberte hlavní funkce CDT a také podporu CDT GNU Toolchain Debug).

Nyní byste měli být schopni nastavovat body přerušení a kontrolovat hodnoty proměnných v Eclipse.

Alternativou je instalace DDD (rozhraní GUI pro GDB).


Nejprve si stáhněte Eclipse CDT a ujistěte se, že můžete importovat projekt do Eclipse, jak je znázorněno na:Jak vytvořit projekt z existujícího zdroje v Eclipse a pak jej najít?

Můžete zkusit věci otestovat pomocí tohoto jednoduchého testovacího adresáře:https://github.com/cirosantilli/ide-test-projects/tree/e93924d4e2ce8cd64b00a7ce67d10d62b497fda1/cpp

git clone https://github.com/cirosantilli/ide-test-projects
cd ide-test-projects/cpp
make
./main.out

Nyní budete také chtít Eclipse sdělit, jak najít symboly standardních knihoven, jak je vysvětleno v:Chyba "Nevyřešené zahrnutí" u záhlaví standardní knihovny Eclipse CDT pro C Jejich výchozí hodnoty jsou hrozné a prostě nefungují.

Jakmile Eclipse importoval projekt, a např. zdá se, že dokážete přejít na definice atd., pojďme nastavit krokové ladění GDB.

Nejprve musíte jít pod:

  • Spustit
  • Spustit konfigurace
  • Aplikace C/C++
  • Výchozí cpp („cpp“ je název projektu)
  • Aplikace C/C++

a nastavte jej na:

main.out

Nyní Eclipse ví, jak spustit váš program. Můžeme to potvrdit provedením zkušebního běhu:

  • Spustit
  • Spustit (Ctrl + F11)

a terminál na spodní straně zobrazuje výstup programu:

Nakonec můžeme dát bod přerušení na libovolný bod, např. main dvojitým kliknutím na postranní panel nalevo od kódu, čímž se vytvoří modrý kruh (zobrazený na obrázku výše).

Nyní můžeme ladit přes:

  • Spustit
  • Ladění (F11)

a podle očekávání jsme na main :

Světle modrá čára nad (void)argv; označuje, že se jedná o aktuální řádek prováděný v ladicím programu.

Odtud už jde jen o to naučit se ladicí rozhraní, např.:

  • zkratky, jako je F6 pro překročení, které jsou nyní viditelné v části "Spustit" (viditelné pouze po zahájení ladění)
  • zobrazení hodnot proměnných v části "Proměnné" vpravo
  • zastavení běhů pomocí Spustit> Ukončit (Ctrl + F2)
  • předat programu argumenty:Argumenty příkazového řádku Eclipse

Poté můžete přepnout zpět do normálního zobrazení kódu (bez ladění) pomocí Ctrl + F8 jakmile dokončíte ladění:Jak změnit perspektivu zpět po ukončení laděného procesu v Eclipse?

Testováno na Eclipse 2020-03 (4.15.0).


Linux
  1. Jak používám Ansible a anacron pro automatizaci

  2. Existuje grafické uživatelské rozhraní C++ gdb pro Linux?

  3. Jak spustit program C++ v jiném programu C++?

  1. Jak používat pokročilý rsync pro velké zálohy Linuxu

  2. Jak používat systemd-nspawn pro obnovu systému Linux

  3. Jak zkontroluji verzi kompilátoru gcc C++ pro můj Eclipse?

  1. Jak používat Lightdm pro uživatelsky definované relace?

  2. Jak získat trasování zásobníku pro C++ pomocí gcc s informacemi o čísle řádku?

  3. Vzdálené ladění C++ aplikace s Eclipse GUI