Кіріспе

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 байланысын қолдайды, ол арнайы драйверді пайдаланады, бұл драйвер түзеткіш пен консоль кірісін бір тізбектік портты пайдалануға мүмкіндік беретіндей бөлуге мүмкіндік береді.

FreeBSD-нің нұсқасы

kgdb деп аталатын бағдарлама FreeBSD жүйесінде де қолданылады. Бұл gdb-ге негізделген, ядроның құлаған файлындағы қателерді іздеуге арналған құрал. Ол сондай-ақ, Linux KGDB сияқты, ядроны тікелей, қашықтан жөндеу үшін де қолданылуы мүмкін, бұл үшін сериялық байланыс немесе FireWire қосылымы қолданылады.