Debuggery jsou skupinou softwaru používaného k analýze počítačových programů. Jsou velmi důležité z hlediska softwarového inženýrství, protože nám umožňují najít problémy v našem kódu. Existuje několik druhů linuxových debuggerů, včetně ladicích programů paměti, zdrojových ladicích programů, profilerů a tak dále. Běžné použití těchto nástrojů zahrnuje vyhledávání chyb, optimalizaci kódových bází, řízení parametrů běhu atd. Naši redaktoři dnes sestavili užitečný zdroj nastiňující 20 nejlepších debuggerů pro vývojáře a softwarové inženýry založené na Linuxu. Podívejte se na ně níže, abyste našli perfektní sadu nástrojů pro váš programovací arzenál.
Nejlepší ladicí programy pro Linux
Naše výběry zahrnují ladicí programy Linux c++, disassemblery, PHP a JavaScript debuggery spolu s mnoha dalšími. Ačkoli můžete najít mnoho různých typů debuggerů, pouze několik z nich je užitečných pro většinu vývojářů. Naštěstí po dokončení tohoto průvodce budete moci určit nejlepší debugger pro vaše potřeby. Pokračujte tedy ve čtení a pozorně si prohlédněte níže uvedené programy.
1. GDB
GDB, neboli GNU Debugger, je pravděpodobně nejlepší linuxový debugger, jaký byl kdy vytvořen. Byl vyvinut průkopníkem moderního open-source hnutí – Richardem Stallmanem a slouží jako dosud nejlepší ladicí nástroj. GDB je známý svou přenositelností, která mu umožňuje běžet na téměř všech systémech založených na Unixu vedle Windows. Pomocí GDB můžete snadno nastavit body přerušení, procházet bloky kódu a kontrolovat dynamické vlastnosti. Navíc se velmi dobře hraje se standardními vývojovými nástroji, jako jsou editory kódu Linux.
Funkce GNU Debugger
- Je to jeden z nejlepších linuxových debuggerů c++ a umožňuje vývojářům optimalizovat jejich programy a zároveň opravovat nežádoucí chyby.
- GNU Debugger běží na různém hardwaru, včetně x86, AMD64, ARM, MIPS a také na většině vestavěných platforem, jako je Arduino.
- Dodává se s vestavěnou podporou vzdáleného ladění, která umožňuje vývojářům ladit programy běžící v jiném systému ze vzdálených klientů.
- Navzdory žádnému oficiálnímu GUI nabízí GDB bezproblémovou integraci s několika moderními frontendy, jako jsou Emacs, CodeBlocks a Qt Creator.
2. DDD
DDD nebo Data Display Debugger je další vynikající volbou pro ladění složitého moderního softwaru. Ve skutečnosti to není samotný debugger, spíše frontend pro několik výkonných debuggerů, jako jsou GDB, XDB a DBX. Je to přesvědčivý nástroj, který umožňuje vývojářům sledovat běžící programy a nabízí funkce, jako je ladění na úrovni stroje, hypertextová navigace, ladění vzdálených hostitelů a tak dále. DDD je také oficiální projekt GNU. Můžete jej tedy používat, aniž byste narazili na běžné problémy, s nimiž se potýkají jiné ladicí programy.
Funkce DDD
- DDD lze použít k ladění programů napsaných ve skriptech C, C++, Java, Fortran, Perl, Python, Modula, Ada a Linux Bash.
- Interaktivní grafické uživatelské rozhraní je velmi robustní a může zobrazovat grafická data, jako jsou grafy a tabulky.
- Díky obrovskému množství užitečných zdrojů se mohou vývojáři tomuto linuxovému debuggeru velmi snadno přizpůsobit.
- DDD také nabízí vynikající rozhraní CLI s možnostmi úprav, kontroly historie a dokončení.
3. Interaktivní disassembler
Interactive Disassembler je jedním z nejlepších linuxových debuggerů pro profesionální vývojáře díky množství funkcí, které nabízí. Tento multiplatformní debugger usnadňuje údržbu rozsáhlých systémů, kde různé komponenty běží na různých infrastrukturách. Primárním prodejním bodem tohoto debuggeru je jeho schopnost produkovat sestavení kód z kompilovaných binárních souborů, jako jsou standardní spustitelné soubory ELF. IDA však není svobodný software jako GDB nebo DDD. Vývojáři nabízejí několik cenových plánů, které si můžete prohlédnout na jejich webových stránkách.
Funkce interaktivního disassembleru
- IDA podporuje širokou škálu výpočetního hardwaru, včetně řady Intel 8086, ARM, DEC Alpha &PDP-11, JVM, SPARC a PowerPC.
- Umí rozebrat několik spustitelných formátů, jako jsou ELF, Mach-O, COFF, NE, MZ, COM, a dokonce i nezpracované binární soubory.
- IDA pro přichází s předpřipravenou podporou pro vzdálené ladění cíle, grafy kódu a flirt (technologie rychlé identifikace a rozpoznávání knihoven).
- Architektura tohoto debuggeru založená na pluginech umožňuje jeho rozšíření ve velmi krátkém čase.
4. Ghidra
Ghidra je extrémně výkonný a na funkce bohatý disassembler napsaný výzkumníky NSA. Od svého vydání s otevřeným zdrojovým kódem si získal obrovskou popularitu a usnadňuje působivé úlohy reverzního inženýrství. Naši redaktoři to zjistili jako vhodnou alternativu k placenému IDA Pro. Ghidra je multiplatformní a stále se aktivně vyvíjí. Takže i vy můžete přispět k projektu a naučit se ladit složité programy. Navíc máte zaručeno, že získáte prvotřídní funkce z debuggeru napsaného v laboratořích NSA.
Funkce Ghidra
- Ghidra přichází s úžasnou sadou funkcí, včetně možností sestavení, rozložení, dekompilace, skriptování a grafů.
- Vývojáři mohou spustit Ghidru na všech hlavních platformách a používat ji buď interaktivně, nebo prostřednictvím bezhlavé automatizace.
- Architektura tohoto nástroje zpětného inženýrství založená na rozhraní API umožňuje vývojářům velmi snadno vytvářet vlastní pluginy Ghidra.
- Ghidra je široce přizpůsobitelný a podporuje rozšíření třetích stran napsaná v Javě, Pythonu nebo implementaci Jythonu.
5. Nemiver
Nemiver je samostatný debugger pro programovací jazyky C a C++. Je to přesvědčivý projekt, který umožňuje vývojářům optimalizovat jejich kódové základny prakticky, ale přímočaře. Proto se stal oblíbenou volbou pro ladicí program Linux c++ pro mnoho vývojářů. Našim redaktorům se rozhraní GUI tohoto nástroje opravdu líbilo a velmi ho doporučili začínajícím programátorům v C++. Nemiver je vytvořen pro prostředí GNOME a poskytuje backend pro GNU debugger nebo GDB.
Funkce Nemiver
- Nemiver je výjimečně rozšiřitelný a umožňuje vývojářům přizpůsobit software pomocí zásuvných modulů a dynamicky načítaných modulů.
- Poskytuje všechny základní funkce ladění, jako je vytváření bodů přerušení, procházení kódů, kontrola dynamických vlastností, podmínek atd.
- Nemiver je napsán v C++ a vyžaduje velmi málo paměti, takže programátorům poskytuje bleskově rychlé ladění.
- Je vybaven integrovaným disassemblerem, který lze použít k definování pokynů pro automatickou demontáž, a podporuje režim sestavení spolu se smíšenými zdroji.
6. Valgrinda
Valgrind je víceúčelový debugger, který běží na Linuxu a dalších unixových systémech a nabízí několik funkcí pro detekci úniků paměti, ladění zdrojů a optimalizaci. Je napsán v kombinaci C a Assembly, což mu pomáhá být extrémně efektivní z hlediska zdrojů. Vývojový tým Valgrind aktivně pracuje na nových funkcích a poskytuje vynikající službu sledování problémů. Kromě toho mohou zkušení vývojáři postavit na Valgrindu poměrně výkonné nástroje pro dynamickou analýzu díky jeho modulárnímu a opensource designu.
Funkce Valgrind
- Valgrind dokáže velmi efektivně zachytit jakékoli zneužití standardního POSIX Pthreads API, problémy s objednáváním zámků a závody dat.
- Je to v podstatě Java Virtual Machine (JVM), který využívá kompilaci JIT a hostí několik modulárních nástrojů jako Memcheck, Cachegrind a Massif.
- Obslužný program Memcheck detekuje jakékoli použití neinicializovaných adres paměti, přetečení, zneužití malloc nebo podobných metod dynamické alokace.
- Cachegrind je schopný profilovač mezipaměti, který poskytuje podrobnou simulaci tradičních mezipamětí L1, D1 a L2.
7. PurifyPlus
PurifyPlus je jedním z nejlepších podnikových linuxových debuggerů pro moderní vývojáře z mnoha důvodů. Za prvé, nabízí vynikající funkce pro zachycení dynamických chyb paměti, jako je přetečení, úniky a nesprávné použití haldy. Jedná se o multiplatformní software, který umožňuje ověřování alokace paměti a dokáže detekovat problémy týkající se volání operačního systému. PurifyPlus navíc umožňuje vývojářům najít mnoho nezávažných chyb. Je to běžný kontrast s tradičními linuxovými C++ debuggery, protože se obvykle používají k detekci pouze fatálních chyb.
Funkce PurifyPlus
- PurifyPlus podporuje několik pokročilých funkcí ladění paměti, jako je ukazování chybových míst a velikost poškozené paměti.
- Vývojáři mohou snadno využít PurifyPlus k optimalizaci využití paměti a urychlení procesu ladění.
- PurifyPlus upozorňuje na potenciální úzká místa vašich programů a pomáhá bezproblémově zvyšovat rychlost softwaru.
- Dodává se s vynikající podporou pro integraci knihoven třetích stran, aniž by dokonce vyžadoval přístup ke zdroji.
8. BASHDB
Shelly v Linuxu a dalších unixových systémech jsou tak populární, protože umožňují uživatelům ovládat své stroje pomocí sofistikovaných skriptovacích jazyků. BASHDB je působivý debugger na úrovni zdroje pro skripty napsané pomocí Bash. Naši redaktoři si tento nástroj opravdu oblíbili díky jeho jednoduchým, ale praktickým případům použití. Vývojáři jej mohou použít k vytvoření bodů přerušení, sledování chyb, odstranění překážek výkonu a snížení výkonu. Pokud tedy intenzivně pracujete s linuxovými bash skripty, nezapomeňte se na to podívat.
Funkce BASHDB
- BASHDB je extrémně efektivní z hlediska zdrojů, a proto je vhodnou volbou pro ladění vzdálených serverů s omezenými zdroji.
- Open-source GNU GPL licence tohoto nástroje umožňuje vývojářům upravovat nebo rozšiřovat software, jak uznají za vhodné.
- Dodává se s vynikající dokumentací, která vývojářům pomůže začít pracovat během několika minut.
- BASHDB umožňuje vývojářům měnit věci uvnitř jejich kódu za běhu, což jim umožňuje najít účinek oprav chyb.
9. Bugzilla
Bugzilla je moderní software pro sledování problémů, který se intenzivně používá pro sledování chyb v softwarových produktech. Není to váš tradiční linuxový debugger, protože je vytvořen pro sledování řešení chyb namísto sledování samotných chyb. Mnoho profesionálů používá Bugzillu k udržování aktuálního softwaru a opravování budoucích zranitelností. Bugzilla byla vyvinuta pro projekt Mozilla a ukázala se jako velký úspěch. Celkově je to vynikající alternativa k placeným produktům, jako jsou JIRA a Lighthouse.
Funkce Bugzilly
- Bugzilla přichází s robustním, přizpůsobitelným pracovním postupem a podporuje Unicode, vlastní pole a fulltextové vyhledávání.
- Umožňuje vývojářům projektů upravovat varování před konflikty a podporuje ověřování založené na LDAP.
- Vývojáři jej mohou ovládat pomocí několika rozhraní, jako je e-mail, příkazový řádek, GUI a robustní REST API.
- Bugzilla podporuje integraci s mnoha platformami pro správu verzí, včetně Git, Mercurial, Bazaar, Subversion a CVS.
10. TotalView
TotalView je sofistikovaný, vysoce výkonný debugger vytvořený pro analýzu složitých programů. Je to vhodný nástroj pro práci s velkými programy s více vlákny a může také analyzovat clustery GPU. TotalView je proprietární řešení a je podporováno lídry v oboru, jako je Nvidia. Bezproblémově se integruje s linuxovými aplikacemi napsanými v C, C++, Fortran a Python. Ve skutečnosti je to jeden z nejlepších Linux C++ debuggerů pro vývojáře videoher a podobných aplikací náročných na zdroje. Pokud tedy hledáte podnikové debuggery, podívejte se na tento software.
Funkce TotalView
- TotalView umožňuje vývojářům ladit kód hostitele a zařízení v jedné relaci a poskytuje plnou viditelnost vláken GPU v Linuxu.
- Umí detekovat úniky paměti, závodní podmínky, zablokování atd. pomocí složitých metod ověřování a ověřených výpočtů.
- TotalView dokáže ladit vícejazyčné programy přesněji než mnoho tradičních ladicích programů pro Linux.
- Funkce zpětného připojení umožňuje vývojářům efektivně ladit více výpočetních uzlů a clusterů.
11. strace
strace je další přesvědčivý analytický nástroj používaný pro diagnostiku a ladění linuxových aplikací. Poskytuje vynikající řešení uživatelského prostoru, které lze použít k monitorování procesů a manipulaci mezi procesy a systémovými voláními. Je napsán v programovacím jazyce C, takže s výkonem by neměl být problém. Kromě toho je strace v aktivním vývoji a poměrně často zavádí novější funkce. Podporuje také sledování cest a dekódování cest pro deskriptory souborů. Pokud tedy hledáte lehký, ale plnohodnotný debugger, vyzkoušejte ho.
Funkce strace
- strace umožňuje vývojářům sledovat všechna systémová volání mezi procesy a linuxovým jádrem a odhalit tak potenciální úskalí kódování.
- Vývojáři mohou snadno určit filtr systémových volání spolu se seznamem cest pro sledování a analýzu vlastností provedení.
- Umožňuje programátorům tisknout trasování zásobníku, upravovat chybové kódy a vkládat signály na základě toků provádění.
- Open source povaha strace povzbuzuje vývojáře, aby rozšiřovali software podle potřeby.
12. LLDB
LLDB je bezpochyby jedním z nejlepších linuxových debuggerů, které můžete mít. Je součástí projektu LLVM, který poskytuje robustní kolekci kompilátorů a technologií vývoje softwaru. Ladicí program LLDB je vysoce výkonný analyzátor, který zvládne programy napsané v C, C++ a Objective C. Je to výchozí komponenta ladicího programu v Xcode macOS. LLDB se snaží využít techniky Just in Time (JIT) pro výrazy, když jsou podporovány, a vrací se k přechodné reprezentaci, když není k dispozici.
Funkce LLDB
- Vývojáři mohou používat Python k přístupu a správě veřejných rozhraní API tohoto ladicího programu díky přemostění skriptů na bázi SWIG.
- Architektura tohoto linuxového ladicího programu založená na pluginech jej umožňuje snadno rozšířit nad rámec každodenních pracovních postupů ladění.
- LLDB umožňuje ladění programů ve vzdálených systémech pomocí své působivé serverové komponenty pro ladění.
- Tato sada nástrojů pro ladění je dodávána s rozsáhlou dokumentací, která vám pomůže nastartovat váš projekt.
13. Elektrický plot
Electric Fence je užitečný paměťový debugger pro programovací jazyk C. Dokáže zkontrolovat problémy s dynamickou alokací paměti způsobené metodami jako malloc nebo free. Electric Fence využívá virtuální paměť vašeho prostředí k detekci těchto chyb a je velmi úspěšný při hledání přetečení vyrovnávací paměti založené na zásobníku. Funguje nejlépe v kombinaci s plnohodnotnými linuxovými debuggery, jako je GDB. Vývojáři mohou jednoduše propojit program s dynamickou knihovnou Electric Fence a zkontrolovat program, kdykoli dojde k chybě paměti.
Funkce elektrického plotu
- Na rozdíl od mnoha C debuggerů umožňuje Electric Fence vývojářům najít přesné umístění chyb paměti.
- Způsobí chybu segmentace, kdykoli program překročí hranici dynamicky definované vyrovnávací paměti.
- Elektrický plot často zvětšuje velikost programu kvůli propojení jeho dynamických knihoven s programy v jazyce C.
- Je k dispozici ve většině linuxových distribucí a nabízí hotové balíčky pro Ubuntu a Fedoru.
14. Xdebug
Xdebug je poměrně výkonný nástroj pro ladění pro PHP programátory. Jedná se o rozšíření, které nabízí bezproblémové ladění a podporu profilování. Poskytuje četné možnosti detekce chyb, jako je trasování zásobníku, záznam volání funkcí a podrobnosti o vyvolání proměnných. Navíc mohou vývojáři snadno rozšířit funkčnost tohoto debuggeru díky jeho open-source kódové základně. Software je aktivně udržován a každou chvíli vydává novější funkce. Takže pokud jste vývojář PHP a hledáte schopný debugger, ponechte si Xdebug ve svém seznamu přání.
Funkce Xdebug
- Xdebug přichází s robustním, vestavěným profilerem a nabízí kódové pokrytí pro testovací rámec PHPUnit.
- Poskytuje trasování zásobníku pro varování, chyby, upozornění a výjimky a také úplné zobrazení parametrů pro funkce.
- Xdebug implementuje několik funkcí pro kontrolu alokace paměti a nabízí ochranu pro nekonečné rekurze.
- Využívá protokol DBGp pro udržování komunikace mezi debuggerem a PHP IDE pro Linux.
15. KDbg
Projekt KDbg nabízí jednoduché, ale intuitivní rozhraní GUI pro GNU debugger. Programátoři mohou pomocí tohoto nástroje snadno vytvářet body přerušení, nastavovat podmínky, procházet kódy a kontrolovat dynamické hodnoty. Naši redaktoři to shledali jako ideální řešení pro začínající programátory. KDbg však závisí na prostředí K Desktop Environment nebo KDE, které je nechvalně známé svým využitím zdrojů. Takže to nemusí být nejlepší volba, pokud používáte starší počítač s omezenými zdroji. Ale stále je to nejlepší volba pro začátečníky s malými znalostmi tradičních linuxových debuggerů.
Funkce KDbg
- KDbg velmi usnadňuje ladění výpisů jádra a umožňuje vývojářům připojit běžící procesy.
- Poskytuje intuitivní klávesové zkratky pro běžné metody ladění, jako je další, sada, krok, vymazání, do a tak dále.
- Tento multiplatformní ladicí program je poměrně rychlý, ale ve starších starších počítačích může zaostávat.
- KDbg přichází s vynikající podporou dokumentace a usnadňuje jeho ovládání začátečníkům.
16. dbx
dbx je starý, ale extrémně schopný debugger na úrovni zdroje pro systémy Linux a BSD. Lze jej použít k ladění programů napsaných v několika programovacích jazycích, včetně C, ++, Fortran, Java a Pascal. dbx umožňuje debuggerům krokovat po jednom řádku zdrojového kódu nebo strojové instrukce vedle mnoha standardních funkcí, jako je manipulace s proměnnými a výrazy. Původně byl vyvinut na University of California v Berkeley a od té doby si našel cestu do všech hlavních operačních systémů.
Funkce dbx
- Lze jej použít ke zkoumání zdrojových kódů, objektových souborů, strojových instrukcí, výpisů jádra a tak dále.
- dbx je jedním z nejpoužívanějších kompilátorů Linux C++ minulé generace a inspiroval mnoho moderních alternativ.
- Využívá symbolické proměnné k nalezení chyb ve spustitelných souborech a poskytuje robustní výpisy MVS.
- dbx nabízí rozsáhlý seznam dílčích příkazů a pěkné, intuitivní GUI rozhraní pro nové programátory.
17. JSwat
JSwat je jednoduchý, ale produktivní Java debugger postavený na Java Platform Debugger Architecture (JPDA). Je to vynikající sada nástrojů pro vývojáře Java díky své robustní sadě funkcí, která zahrnuje schopnost vytvářet podmíněné body přerušení, monitorovat vlákna, systémová volání a tak dále. Navíc, protože se jedná o software s otevřeným zdrojovým kódem, mohou jej vývojáři v případě potřeby rozšířit tak, aby vyhovoval jejich projektům. Pokud vás tedy nebaví manipulovat s monolitickými Java IDE pro účely ladění, můžete pro změnu vyzkoušet JSwat.
Funkce JSwat
- JSwat přichází s robustním rozhraním příkazového řádku kromě standardního rozhraní GUI a podporuje bezhlavou automatizaci.
- Dodává se s povolenou licencí CDDL (Common Development and Distribution License), která umožňuje další přizpůsobení.
- Rozhraní příkazového řádku zpřístupňuje některé další funkce, jako je vyhodnocování výrazů podobných Javě a vyvolávání metod.
- Tento software již není aktivně udržován, ale stále poskytuje jednoduchý způsob ladění aplikací Java.
18. Affinic Debugger
Affinic Debugger je intuitivní grafické rozhraní pro GNU debugger a LLVM debugger. Jeho cílem je pomoci vývojářům uvolnit maximální potenciál jejich oblíbených linuxových debuggerů. Přestože se jedná o placený software, můžete získat lite verzi zdarma. Kromě toho je rozhraní poměrně rychlé a poskytuje příjemný uživatelský zážitek. Vzhledem k tomu, že z tohoto debuggeru můžete používat všechny funkce GDB a LLDB, je mimořádně vhodný pro podnikové projekty.
Funkce Affinic Debugger
- Vývojáři získají přímý přístup ke všem běžně používaným funkcím z dobře umístěných panelů nástrojů a nabídek.
- Affinic Debugger poskytuje tiskový mechanismus se sledováním kurzoru, který pomáhá porozumět kódovým základnám mnohem rychleji.
- Zahrnuje působivé grafické ladění na úrovni sestavy s přístupem k více pohledům, vektorovým pokynům atd.
- Affinic Debugger přichází s vestavěnou podporou pro převod sestavení na binární převod, snadné zobrazení vláken a vzdálené ladění a mnoho dalších.
19. Pojistit++
Insure++ je extrémně výkonný ladicí program paměti pro programy C a C++. Obsahuje některé ohromující funkce včetně nejmodernějšího analyzátoru kódu, robustních metod hlášení a stovek předem vytvořených heuristiek. Insure++ je zaměřen na profesionály pracující v podnikových projektech a nabízí vynikající podporu optimalizace. Je to placený software vhodný pro to, aby bylo těžké zachytit přetečení paměti, úniky, zneužití ukazatele a tak dále. Naši redaktoři vřele doporučují tento debugger vývojářům, kteří hledají plnohodnotné podnikové produkty.
Funkce Insure++
- Insure++ podporuje detekci úniků paměti, přetečení a podtečení vyrovnávací paměti, trasování zásobníku a mnoho dalších podnikových funkcí.
- Může hlásit informace, jako jsou typy chyb, problematické výrazy, poškozené paměťové bloky, lokální nebo globální data zásobníku a tak dále.
- Vývojáři mohou snadno vizualizovat obsah, který způsobuje problémy nebo může způsobit budoucí selhání programu.
- Dodává se s vynikající podporou dokumentace ve formě profesionálních dokumentů a příruček pro vývojáře.
20. D.U.M.A
D.U.M.A nebo Detect Unintended Memory Access je dalším open source přírůstkem do našeho seznamu. Je to přesvědčivý debugger pro programy napsané v C a C++. Toto je vidlice ladicího programu Electric Fence s několika přidanými funkcemi a lze ji použít k provádění dynamické kontroly paměti, hledání úniků, nelegálních přístupů do paměti a tak dále. Stejně jako Electric Fence také využívá virtuální paměť pro detekci chyb založených na paměti. Pokud tedy hledáte schopný debugger pro Linux C++, podívejte se na D.U.M.A.
Funkce D.U.M.A
- Funguje tak, že přetěžuje všechny tradiční metody alokace paměti, jako je malloc, calloc, memalign a jejich protějšky s dealokací.
- D.U.M.A používá jednotku správy paměti linuxového jádra k ochraně před nelegálním přístupem do paměti.
- Vývojáři mohou testovat opravy chyb, aniž by museli měnit zdroj nebo jej znovu kompilovat.
- Open-source GNU GPL licence tohoto nástroje umožňuje bezproblémové úpravy třetích stran.
Konec myšlenek
Linuxové debuggery tvoří důležitou součást moderního vývoje systémů a softwaru. Poptávka po schopných debuggerech je vždy vysoká a schopnost zvládnout všestrannou sadu debuggerů je povinná, pokud hledáte vysoce placené práce v oblasti informatiky. Protože Linux nabízí řadu ladicích programů pro různé účely, pro začátečníky je často těžké vybrat pro ně vhodná řešení. GNU Debugger spolu s LLDB a IDA jsou rozhodně ty nejvýkonnější, které můžete získat. Můžete si však také vybrat z řady nástrojů vytvořených pro řešení problémů s programováním specifických pro jazyk nebo systém, jako je strace.