構造体を使用してpt_regs
などのレジスタを取得および設定しようとしていますeax
が、コンパイル エラーにより、そのpt_regs
ようなメンバーがないことがわかりeax
ます。
しかし、私はax
レジスターを取得できます。誰が何が起こっているのか教えてもらえますか?
3.0.0
カーネルで 32 ビットの Ubuntu Linux を使用しています。ありがとうございました。
構造体を使用してpt_regs
などのレジスタを取得および設定しようとしていますeax
が、コンパイル エラーにより、そのpt_regs
ようなメンバーがないことがわかりeax
ます。
しかし、私はax
レジスターを取得できます。誰が何が起こっているのか教えてもらえますか?
3.0.0
カーネルで 32 ビットの Ubuntu Linux を使用しています。ありがとうございました。
arch/x86/include/asm/ptrace.hの定義を見てstruct pt_regs
ください。
#ifndef __KERNEL__
そこにあることに注意してください。これは、その構造の定義がカーネルモードとユーザーモードのコードで異なることを意味します。
カーネル コードの場合pt_regs::ax
は、おそらく必要な値です。%eax
32 ビット システムと64 ビット システムの値が含まれている必要があります%rax
。