そこで停止したくないため、ポインターを出力してから続行するブレークポイントを設定しました。
bu 410cc8 ".printf \"Class: %08lX Filebuffer: %08X\\n\", eax, edx; g"
これに関する問題は、次のように、シングルステップでそのようなブレークポイントが発生した場合です。
1 mov eax, [ebp+var_10]
2 lea edx, [eax+2Ch]
3 mov eax, ebx
4 call ReadFileFkt_2
5 mov eax, [ebp+var_10]
したがって、4 行目にいて、それをステップオーバーすると、上記のブレークポイントが発生し、メッセージが出力されます。しかし、ブレークポイントで「g」を使用して続行するため、デバッガーは戻ってこないため、単一のステップが消去されます。
「g」を使用しないと、ブレークポイントにヒットし、デバッガーがそこで停止するため、元の場所に戻る方法を追跡する必要があります。もちろん、呼び出しの後にブレークポイントを設定することもできますが、コードの他の部分でもこれを行うことを覚えておく必要があります。これは、呼び出し元の階層の奥深くからいつブレークポイントが起動されるかがわからないためです。