| プログラム種別 |
空間 |
アドレス |
ページング |
デバッグ |
|---|---|---|---|---|
| ブートローダ | 非MMU空間 | 固定番地 | なし | 既存の組み込み デバッグに同じ |
| カーネル |
MMU上の 単一カーネル空間 |
固定番地 |
(ほぼ)なし |
既存の組み込みデバッグに (ほぼ)同じ |
| ローダブル モジュール |
MMU上の 単一カーネル空間 |
リロケータブル |
デマンド ページング |
リロケーション解決、 ページングへの対応が必要 |
| アプリケーション |
MMU上の 論理多重仮想空間 |
固定番地 |
デマンド ページング |
論理多重空間、 ページングへの対応が必要 |
| 共有ライブラリ |
MMU上の 論理多重仮想空間 |
リロケータブル |
デマンド ページング |
リロケーション解決、 論理多重空間、 ページングへの対応が必要 |
| PARTNER-Jet | 一般的なICE | gdb(ptrace) | kgdb |
||
|---|---|---|---|---|---|
| デバッグ対象 | カーネル | ○ | ○ | × | ○ |
| モジュール |
○ | △※3 | × | ○ | |
| アプリケーション | ○ | × | ○ | × | |
| 特別なアプリ(init=プロセスID1番) | ○ | × | × | × | |
| XIPアプリケーション ※1 |
○ | × | △※2 | × | |
| マルチプロセス |
○ | × | ○ | × | |
| マルチスレッド |
○ | × | ○ | × |
| PARTNER-Jet | 一般的なICE | gdb(ptrace) | kgdb |
||
|---|---|---|---|---|---|
| デバッグ機能 (カーネル空間) |
ソフトウェアブレーク | ○ | ○ | − | ○ |
| ハードウェアブレーク(命令実行) |
○ | ○ | − | △※6 | |
| ハードウェアブレーク(データアクセス) | ○ | ○ | − | △※6 | |
| 実行トレース(分岐トレース) | ○ | △※4 | − | × | |
| ソースレベルデバッグ | ○ | ○ | − | ○ | |
| ローダブルモジュールの自動リロケーション | ○ | △※5 | − | 未調査 | |
| デマンドページングの解決 | ○ | × | − | ○ | |
| カーネルブレーク中のプロセスデバッグ | ○ | × | − | × | |
| デバッグ機能 (ユーザ空間) |
ソフトウェアブレーク | ○ | − | ○ | − |
| ハードウェアブレーク(命令実行) |
○ | − | △※6 | − | |
| ハードウェアブレーク(データアクセス) | ○ | − | △※6 | − | |
| 実行トレース(分岐トレース) | ○ | − | × | − | |
| ソースレベルデバッグ | ○ | − | ○ | − | |
| デマンドページングの解決 | ○ | − | ○ | − | |
| 共有ライブラリの自動リロケーション | ○ | − | ○ | − | |
| 実行中プロセスへのアタッチ | ○ | − | ○ | − | |
| プロセスブレーク中のカーネルデバッグ | ○ | − | × | − | |
| プロセスブレーク中のカーネルや他のプロセスの実行 | ○※7 | − | ○ | − |