A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Vývojář | Projekt GNU |
---|---|
První vydání | 1986 |
Aktuální verze | 14.2 (3. března 2024) |
Operační systém | Unix-like, MS Windows |
Vyvíjeno v | C |
Typ softwaru | Debugger |
Licence | GNU GPL |
Web | gnu.org/software/gdb |
Některá data mohou pocházet z datové položky. |
GNU Debugger (; zkráceně GDB) je standardní nástroj na hledání chyb v software (tzv. debugger). Je součástí projektu GNU. GDB podporuje mnoho unixových operačních systémů a programovacích jazyků (například C, C++ nebo Fortran).
Historie
GDB původně napsal Richard Stallman v roce 1988 v rámci projektu GNU. Mezi lety 1990 a 1993 ho spravoval John Gilmore zatímco pracoval pro Cygnus Solutions. Nyní je spravován komisí (GDB Steering Committee) jmenovanou Free Software Foundation.
Technické detaily
Vlastnosti
GDB nabízí široké zázemí pro sledování a úpravu počítačových programů. Uživatel může sledovat a upravovat hodnoty programových vnitřních proměnných a volat jednotlivé funkce programu nezávisle na jeho normálním chování. GDB je stále aktivně vyvíjen. Například verze 7.0 nově obsahuje podporu pro Python. Od této verze je dostupné také tzv. „vratné ladění“ – vždy je dostupná možnost návratu o krok zpět, díky čemuž je snadnější zjistit, na čem program spadl a co přesně se stalo.
GDB podporuje mimo jiné tyto procesory (stav z roku 2003): Alpha, ARM, H8/300, System/370, System/390, X86 a X86-64, IA-64 (Itanium), MC68k, MIPS, PA-RISC, PowerPC, SuperH, SPARC, VAX.
Vzdálené ladění
GDB nabízí ‚vzdálený režim‘ používaný pro ladění embedded systémů. Vzdálený režim znamená, že GDB běží na jednom počítači a laděný program na jiném. GDB komunikuje se vzdáleným systémem pomocí GDB protokolu na sériové lince nebo pomocí TCP/IP.
Stejný režim je také použitý v KGDB pro ladění Linuxových jader na úrovni strojového kódu s gdb. KGDB umožňuje vývojářům ladit kernel naprosto stejným způsobem, jako se ladí běžná aplikace. Díky tomuto vývojáři mohou kdekoliv v kódu umístit breakpoint, krokovat jednotlivé řádky kódu a sledovat proměnné. Na architekturách, které při ladění poskytují hardwarové registry, lze nastavit sledování tak, aby se při přístupu do určité části paměti vyvolal breakpoint. KGDB neumožňuje běh na laděném systému, proto vyžaduje přídavný stroj, který je připojený k testovanému systému pomocí sériového kabelu nebo ethernetu. U FreeBSD je možné k propojení použít ještě FireWire s DMA.
Omezení
Debugger neobsahuje vlastní grafické uživatelské rozhraní a standardně nabízí pouze textové. Na tomto principu bylo vytvořeno několik předních ladících nástrojů, jako jsou Xxgdb, Data Display Debugger (DDD), Nemiver, KDbg, Xcode debugger, GDBtk/Insight a HP Wildebeest Debugger GUI (WDB GUI). Grafickou nadstavbu nabízí až vývojová prostředí třetích stran: Codelite, Code::Blocks, Dev-C++, GNAT Programming Studio (GPS), KDevelop, Qt Creator, MonoDevelop, Eclipse, NetBeans a VisualStudio. Pro GDB bylo vytvořeno několik grafických nadstaveb (DDD, KDbg, Nemiver či novější gdbgui).[1]
Příklad použití
GNU gdb Red Hat Linux (6.3.0.0-1.21rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type „show copying“ to see the conditions. There is absolutely no warranty for GDB. Type „show warranty“ for details. This GDB was configured as „i386-redhat-linux-gnu“...Using host libthread_db library „/lib/libthread_db.so.1“. (gdb) run Starting program: /home/sam/programming/crash Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0xc11000 This program will demonstrate gdb Program received signal SIGSEGV, Segmentation fault. 0x08048428 in function_2 (x=24) at crash.c:22 22 return *y; (gdb) edit (gdb) shell gcc crash.c -o crash -gstabs+ (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y warning: cannot close „shared object read from target memory“: File in wrong format `/home/sam/programming/crash' has changed; re-reading symbols. Starting program: /home/sam/programming/crash Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0xa3e000 This program will demonstrate gdb 24 Program exited normally. (gdb) quit
Program je spuštěn. Po objevení příčiny vyvolání chyby segmentation fault je program opraven. Opravený program je pak rekompilován pomocí GCC a poté spuštěn.
Reference
- ↑ TIŠNOVSKÝ, Pavel. Grafická nadstavba nad GNU Debuggerem gdbgui a její alternativy. www.root.cz . Internet Info, s.r.o., 2017-07-20 . Dostupné online. ISSN 1212-8309.
Externí odkazy
- Obrázky, zvuky či videa k tématu GNU Debugger na Wikimedia Commons
Domácí stránka GDB GDB dokumentace Archivováno 7. 7. 2012 na Wayback Machine. – více než 400 stran (anglicky)
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk