kgdb

kgdb

Information
Entwickelt von Dave Grothe, LinSysSoft Technologies
Betriebssystem Linux
Sprachen Englisch
Art Debugger
Lizenz GNU General Public License Version 2
Webseite kgdb.linsyssoft.com

kgdb ist der Name eines Debuggers des Kernel- Level- Quellcodes . Ein solcher Debugger ist ein Werkzeug, um die Entwicklung von Treibern oder Kernelfunktionalitäten zu unterstützen und es zu ermöglichen, genau zu verstehen, was wirklich im Herzen des Betriebssystems vor sich geht, es Schritt für Schritt umzusetzen und darauf zu reagieren.

Es handelt sich um freie Software, die unter der GNU GPL- Lizenz von Dave Grothe entwickelt wurde. Das Projekt wird von SourceForge.net gehostet und seine Entwicklung wird von LinSysSoft unterstützt, das auch professionellen Support unter dem Produktnamen KGDB Pro bietet .

kgdb ist auch der Name des FreeBSD- Kernel-Debuggers .

Technische Überlegungen

Das Debuggen des mit kgdb (dem Ziel oder Ziel ) ausgestatteten Kernels erfolgt remote ( Cross-Debug ) von einem zweiten Computer aus mit einem einfachen Standard- GNU-Debugger auf der Seite der Entwicklungsarbeitsstation (Host-PC oder Host ) über eine serielle Verbindung ( RS232 , Nullmodemkabel ) oder über Ethernet in TCP / IP .

kgdb ist verfügbar unter Linux für die Architektur der Prozessoren folgenden: x86 , x86-64 , PowerPC , ARM , MIPS und S390 .

Historisch

kgdb wird seit vielen Jahren als Patch bereitgestellt , der manuell auf die Quelldateien des Linux-Kernels angewendet werden kann .

Linus Torvalds hat sich in der Tat lange Zeit geweigert, einen solchen Debugger in den Linux-Kernel zu integrieren, und vor allem argumentiert, dass das Ziel nicht darin bestehen sollte, Entwicklern das Leben zu erleichtern, sondern den Bedürfnissen der Benutzer gerecht zu werden, insbesondere indem es ihnen ermöglicht wird, einfacher zu arbeiten Probleme bei der Verwendung. Darüber hinaus habe die Erleichterung der Entwicklung des Kernels kein Interesse, diene nicht dem Projekt, und die Verkürzung der Entwicklungszeiten führe zu einer Qualitätsminderung.

Später stellte er seine Überlegungen klar, indem er darauf hinwies, dass dies für Linux keine Priorität hatte, da mit den Benutzern viel wichtigere Dinge geschehen und dass er nicht wieder zu diesem Thema zurückkehren würde, bis der Patch aktualisiert und in einem separaten Zweig verfügbar ist von jeder anderen Funktionalität.

Diese letzte Bedingung ermöglichte es, den Patch in einer von Ingo Molnar stark vereinfachten und bereinigten Version (insbesondere ohne Debugging über Ethernet in TCP / IP ) neu zu verpacken , die so konzipiert war, dass sie nur minimale Auswirkungen auf die Quellen und die Funktionsweise des Linux-Kernels. Dies mit dem Ziel, später alle anderen Funktionen zu diesem Mindestumfang hinzuzufügen, um den Aufprall besser kontrollieren zu können.

Kgdb wurde schließlich von Linus Torvalds akzeptiert und in den Hauptstamm integriert, der im ersten Kernel- Release-Kandidaten für 2.6.26-rc1 veröffentlicht wurde3. Mai 2008(zusammen mit PAT- Unterstützung für x86 ).

Wettbewerber

kgdb wird schnell zum Benchmark für Linux-Kernel- Debugger , da es nativ integriert ist, also ohne Vorbereitungsarbeiten für den Entwickler, aber er ist nicht der einzige.

Anmerkungen und Referenzen

  1. 6. September 2000: Antwort von Linus Torvalds, der seine Ablehnung von kgdb und Debuggern im Allgemeinen erklärt
  2. 4. Februar 2008: Botschaft von Linus Torvalds, der seine Argumente klarstellt und eine Bedingung für die Integration gibt
  3. 10. Februar 2008: Nachricht von Ingo Molnar über die Verfügbarkeit seines gereinigten Patches "kgdb light".
  4. 3. Mai 2008: Nachricht von Linus Torvalds, die auf die Veröffentlichung von Kernel 2.6.26-rc1 und insbesondere auf die Zusammenführung der kgdb-Unterstützung mit dem Kernel hinweist

Anhänge

Zum Thema passende Artikel

Externe Links