• 締切済み

GDBでCプログラムの関数の引数を変更したい

関数の引数の値を書き換えたいです。 DGBのx/iコマンドでアッセンブラをみて レジスタに格納された引数の値を書き換えようと考えています。 このコマンドで書き換えたい関数の$ebpを見て書き換える予定です。 引数を書き換えたい関数の戻り値が構造体であるかないかで、$ebpからのアドレスの位置が変更されてしまいます。 他に格納されている関数の引数のアドレスが1つに固定できる方法はないでしょうか? できないとしたら、条件で関数の戻り値が構造体かどうかの判断はどこでつければよいでしょうか?

みんなの回答

  • pumicha
  • ベストアンサー率0% (0/11)
回答No.2

呼び出された関数の中でsetコマンドを使って変更することが出来るはずですが、そういうことではないのでしょうか?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

構造体へのポインタを返すように関数を書換える... かなぁ?

eternalgoodess
質問者

お礼

考え方が一つ増えました。 ありがとうございます。

eternalgoodess
質問者

補足

具体的には、どのようにすればよいか教えていただけますか?

関連するQ&A

専門家に質問してみよう