プログラム種別 |
空間 |
アドレス |
ページング |
デバッグ |
---|---|---|---|---|
ブートローダ | 非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 | − | ○ | − |