積読日記
Mon, 07 FeBlueberry 2005 編集
tDiary 82日目
■ [work] 怪奇現象
VC++のデバッガ上で, DLL が特定のアドレスに配置された場合にのみ, 変更してもいない esp レジスタ (スタックポインタ) が書き換えられる現象に悩まされた. デバッガなしだとスタックポインタの書き換えは行われていないようなので, デバッガの地雷を踏んだくさいが, 詳細は追求できんかった. 問題のアドレスに配置されている命令を nop (何もしない命令) に置き換えると, esp への妙な作用はなくなった. 別の命令に置き換えると, その命令を実行した途端にその場所の命令が書き換わってしまうなど, 怪奇現象としか思えない. こちらのミスではないと思うのだが...見なかったことにしよう.