Кіріспе
KGDB – ICAO әуежай коды бар әуежай, Linux ядросы және NetBSD және FreeBSD ядролары үшін түзеткіш құрал. Ол тізбектік байланыс арқылы қосылған екі машинаны қажет етеді. Тізбектік байланыс, нөлдік модем кабелін пайдаланатын RS 232 интерфейсі немесе UDP/IP желілік протоколы (Ethernet арқылы KGDB, KGDBoE) арқылы болуы мүмкін. Түзетуді қажет ететін машина (мақсатты машина) өңделген ядроны іске қосады, ал екінші машина (хост) gdb-ді іске қосады. Екі машина арасында GDB қашықтық протоколы қолданылады. KGDB 1997 жылы NetBSD ядросының бір бөлігі ретінде, ал FreeBSD 2.2 нұсқасында жүзеге асырылды. Концепция және қолданыстағы қашықтық gdb протоколы кейіннен Linux ядросына түзету ретінде бейімделді. Linux түзетуінің шағын нұсқасы ресми Linux ядросының 2.6.26 нұсқасына енгізілді. KGDB Linux жүйесінде келесі архитектуралар үшін қол жетімді: IA 32, x86 64, PowerPC, ARM, MIPS және ESA/390. Ол тек RS 232 байланысын қолданатын NetBSD және FreeBSD-дің барлық қолдау көрсетілетін архитектураларында қол жетімді. Амит Кале 2000 жылдан 2004 жылға дейін Linux KGDB-ді күткен. 2004-2006 жылдар аралығында Linsyssoft Technologies оны күткен, содан кейін Wind River Systems, Inc. компаниясының Джейсон Вессел ресми күтуші болып тағайындалды. Инго Молнар және Джейсон Вессел KGDB-нің "kgdb light" деп аталған (Ethernet қолдауы және көптеген басқа да түзетулерсіз) азайтылған және тазартылған нұсқасын жасады. Осы нұсқа 2.6.26 ядросына енгізілді. kgdb-нің бұл нұсқасы тек RS 232 байланысын қолдайды, ол арнайы драйверді пайдаланады, бұл драйвер түзеткіш пен консоль кірісін бір тізбектік портты пайдалануға мүмкіндік беретіндей бөлуге мүмкіндік береді.
KGDB is a debugger for the Linux kernel and the kernels of NetBSD and FreeBSD. It requires two machines that are connected via a serial connection. The serial connection may either be an RS 232 interface using a null modem cable, or via the UDP/IP networking protocol (KGDB over Ethernet, KGDBoE). The target machine (the one being debugged) runs the patched kernel and the other (host) machine runs gdb. The GDB remote protocol is used between the two machines. KGDB was implemented as part of the NetBSD kernel in 1997, and FreeBSD in version 2.2. The concept and existing remote gdb protocol were later adapted as a patch to the Linux kernel. A scaled down version of the Linux patch was integrated into the official Linux kernel in version 2.6.26. KGDB is available for the following architectures under Linux: IA 32, x86 64, PowerPC, ARM, MIPS, and ESA/390. It is available on all supported architectures of NetBSD and FreeBSD using only RS 232 connectivity. Amit Kale maintained the Linux KGDB from 2000 to 2004. From 2004 to 2006, it was maintained by Linsyssoft Technologies, after which Jason Wessel at Wind River Systems, Inc. took over as the official maintainer. Ingo Molnar and Jason Wessel created a slimmed down and cleaned up version of KGDB which was called "kgdb light" (without Ethernet support and many other hacks). This was the one merged into the 2.6.26 kernel. This version of kgdb supports only RS 232 connectivity, using a special driver which can split debugger inputs and console inputs such that only a single serial port is required.
FreeBSD-нің нұсқасы
kgdb деп аталатын бағдарлама FreeBSD жүйесінде де қолданылады. Бұл gdb-ге негізделген, ядроның құлаған файлындағы қателерді іздеуге арналған құрал. Ол сондай-ақ, Linux KGDB сияқты, ядроны тікелей, қашықтан жөндеу үшін де қолданылуы мүмкін, бұл үшін сериялық байланыс немесе FireWire қосылымы қолданылады.