x86 アーキテクチャ用のシンプルな Linux カーネル デバッガを構築したいと考えています。最初にブレークポイントを設定したい。デバッガーレジスターを構成するためのカーネル API があるかどうか疑問に思っていました。デバッガー レジスター用のカーネル API がない場合、レジスターを手動で適切に構成する方法 (アセンブリ "MOV" 命令を使用) に関するドキュメントはありますか?
質問する
3697 次
1 に答える
4
処理するカーネルのバージョンによって異なります。
少なくとも 2.6.33 以降、カーネルにハードウェア ブレークポイントを設定するための API がありますが、バージョン 3.0 から 3.2 にかけて少し変更されている可能性があります。
register_wide_hw_breakpoint()関数kernel/events/hw_breakpoint.c
とその近くの関数を見てください。
ドキュメントはかなり不足しているようですが、カーネルでその API を使用する方法の例があり、役立つかもしれません。
その API を使用したより複雑な例は、RaceHound プロジェクトにあります。
于 2013-05-04T18:22:15.573 に答える