| 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-32、x86-64、PowerPC、ARM、MIPS、ESA/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 ]
参考文献
- ^ 「NetBSDカーネルへのKGDB追加コミット」 . NetBSD CVSソースコード. The NetBSD Foundation . 2013年8月1日閲覧。
- ^ 「KGDB: Linuxカーネルソースレベルデバッガー」 。2014年10月15日時点のオリジナルよりアーカイブ。
- ^ 「LKML: 「Amit S. Kale」: kgdb (カーネル デバッガー) の更新」。
- ^ "Kgdb Light" . KernelTrap . 2008年4月16日時点のオリジナルよりアーカイブ。
- ^ 「FreeBSD kgdb マニュアルページ」。
- ^ 「FreeBSD ハンドブック: リモート KGDB」。