• 締切済み

スタックポインタを書き換えると例外が発生します

環境はVC++2005です。 espをグローバル変数の領域に変更したあとに関数の呼出しをすると、 例外が発生してしまいます(書き込み中にアクセス違反が発生しました)。 なぜでしょうか?(printfなどを呼び出さなければエラーは出ません) レジスタはちゃんと呼び出し前に退避し、返った後は元に戻しています。

みんなの回答

  • R32C
  • ベストアンサー率39% (115/290)
回答No.2

そんなことはしてないと思いますが、聞いておきます。 スタックポインタを切り替えるなら、確保したグローバル領域の最後を 指定する必要がありますが、ひょっとして先頭にしていませんか?

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

ソースコードを見せてくださると、何かがわかるかもしれませんし、 何もわからないかもしれません。 少なくとも今よりは解決に向けて前進できることでしょう。