Введение
аэропорт с кодом ИКАО 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, используя специальный драйвер, который разделяет ввод отладчика и консольный ввод, позволяя использовать только один последовательный порт.
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.