業界初のLinux対応ICEが成功した理由(2/2) − @IT MONOistより
MMU(メモリ管理機構)を持つCPUで動作するLinuxの場合、仮想記憶機構の存在により、論理アドレスと物理アドレスが一致しない。さらに、 Linux特有のローダブルモジュール(カーネルに動的にロードされる、カーネルから独立したデバイスドライバ)も、どのアドレスにロードされるか外部からは見えず、通常のICEの仕組みが通用しなかった。
あれれ、この辺って普通のOSだと当たり前だと思っていたんだけれど。私何か読み違えてる?それに、ローダブルなカーネルデバイスってLinux特有じゃない…と思う(間違えていたらつっこみよろしく)。Windowsでも確かできたはず(NICのドライバもそうだよね?)。
ICEがあると便利だそうで、デバッガだとわかりづらいバグもとりやすいと聞きました。私はICE使ったことありません。
というか、私が聞いたICEって、もう少し低レベルなところで使っていたように聞いた気がするなぁ。たとえば、i386ではおきなくて、i486では起きる…というようなバグを捕まえるために使うとか。そういった意味ではソフトウェアデバッガで90%以上の領域はカバーできているのかもしれません。
ICEといえば、i386で使えるやつが150万したとか聞いて(でもi386を使うマシンの開発に必須だったとか)びっくりした記憶があります。
それにしても、京都マイクロコンピュータ、なつかし〜。