Введение

аэропорт с кодом ИКАО KGDB — это отладчик для ядра Linux, а также ядер NetBSD и FreeBSD. Для его работы требуется две машины, соединенные последовательным соединением. Последовательное соединение может быть реализовано как интерфейс RS 232 с использованием кабеля null modem, либо через сетевой протокол UDP/IP (KGDB через Ethernet, KGDBoE). На целевой машине (отлаживаемой) запускается пропатченное ядро, а на другой (хост) — gdb. Для обмена данными между машинами используется протокол GDB remote protocol. KGDB был впервые реализован в составе ядра NetBSD в 1997 году, а затем в FreeBSD версии 2.2. Концепция и существующий протокол remote gdb впоследствии были адаптированы в виде патча для ядра Linux. Облегченная версия этого патча была включена в официальное ядро Linux в версии 2.6.26. KGDB доступен для следующих архитектур под Linux: IA 32, x86 64, PowerPC, ARM, MIPS и ESA/390. Он также доступен на всех поддерживаемых архитектурах NetBSD и FreeBSD, используя только подключение RS 232. С 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.