私はVisual Studio 2010で.exeを使用して作業しています(元のコードがないため、アセンブラーしか表示されません)。生成元のコードは次のようなものです (正確ではありませんが、不明な小さな変更があります)。
int main() {
int points = 1000;
int games = 0;
srand ((unsigned int) time(NULL)); // random seed
while(true) {
games++;
playGame(&points, games);
keepPlaying();
}
return 0;
}
さらに、呼び出された 2 つのメソッド (非常に簡単なもの)。
ここで、.exe をデバッグしようとすると、それを開いて F11 を押すと、すべてうまくいきます。コードの読み取りを開始し、いくつかのブレークポイントを配置し、メインを見つけます...
しかし、停止して F5 キーを押して最初のブレークポイントに移動しようとすると、プログラムがメモリ内の別の場所にロードされていることがわかりました。したがって、(未使用のメモリを指している) ブレークポイントが見つかりません。
また、ブレークポイントが見つかるまで F10/F11 を使用して行ごとに移動することもあります。それらを見つけた(そして有効になっている)ことがありますが、それらに到達するまで実行を試み(F5)、それらを通過します。
たとえば、Visual Studio にアセンブラーを常に同じメモリの場所に配置させることができるかどうかは誰にもわかりますか? または、ブレークポイントを保持できるようにして、毎回行ごとに実行する必要がないようにします。