KGDB

KGDB
原作者デイブ・グローテ
開発者ジェイソン・ウェッセル
オペレーティング·システムリナックス
タイプデバッガ
ライセンスGNU一般公衆利用許諾契約書
Webサイトkgdb.wiki.kernel.org

KGDB は、 Linux カーネル、 NetBSDおよびFreeBSDカーネル用のデバッガーです。シリアル接続された2台のマシンが必要です。シリアル接続は、ヌルモデムケーブルを使用したRS-232インターフェース、またはUDP /IP ネットワークプロトコル(KGDB over Ethernet、KGDBoE)のいずれかです。ターゲットマシン(デバッグ対象マシン)ではパッチを適用したカーネルを実行し、もう一方のマシン(ホストマシン)ではgdbを実行します。2台のマシン間では GDB リモートプロトコルが使用されます。

KGDBは1997年にNetBSDカーネルの一部として実装され、[ 1 ]、FreeBSDバージョン2.2でも実装されました。KGDBのコンセプトと既存のリモートGDBプロトコルは後にLinuxカーネルのパッチとして採用されました。Linuxパッチの縮小版は、バージョン2.6.26で公式Linuxカーネルに統合されました。

KGDBは、Linuxにおいて、 IA-32x86-64PowerPCARMMIPSESA/390の各アーキテクチャで利用可能です。また、NetBSDおよびFreeBSDでは、RS-232接続のみで、サポートされているすべてのアーキテクチャで利用可能です。

Amit Kaleは2000年から2004年までLinux KGDBの保守を担当した。[ 2 ] [ 3 ] 2004年から2006年まではLinsyssoft Technologiesが保守を担当し、その後Wind River Systems, Inc.のJason Wesselが公式保守を引き継いだ。Ingo MolnarとJason Wesselは、KGDBの軽量化とクリーンアップを行ったバージョンを作成した。これは「kgdb light」(イーサネットサポートやその他の多くのハックを削除)と呼ばれ、2.6.26カーネルに統合された。[ 4 ]このバージョンのkgdbはRS-232接続のみをサポートしており、デバッガ入力とコンソール入力を分割できる特別なドライバを使用しているため、必要なシリアルポートは1つだけである。

フリーBSD

FreeBSDではkgdbというプログラムも使用されています。これはカーネルコアファイルのデバッグ用のgdbベースのユーティリティです。[ 5 ]また、Linux KGDBと同様に、シリアル接続またはFireWire接続を介してリモートの「ライブ」カーネルデバッグにも使用できます。[ 6 ]

参考文献