2

Visual Studio では、各ステートメントをステップ実行しながらアセンブリ言語コードを編集できますか (プログラムの実行中にプログラム内のステートメントを変更できるようにしますか?)、プログラムの実行中にプログラム内のステートメントを変更すると便利です (デバッグ目的で)、これが可能かどうかはまだわかりません。

4

1 に答える 1

1

ソース コードを変更することはできますが、デバッグ セッション中に新しいバイナリを生成するために再アセンブルされることはありません。デバッガーは「ソースがコードと一致しなくなりました」と通知しますが、ステップは実行できます。ソース コードがオブジェクト コードと一致しなくなったため、表示が混乱する可能性があります :-} 私はよく命令や空白行にコメントを追加します。この特別な場合の行。

パッチを適用する命令を含むメモリを手動で変更できると思います。私はこれを気にしたことはありません。今いる場所にブレークポイントを設定し、再アセンブルしてから、ブレークポイントまで実行する方が簡単です。

すべてのレジスタとデータ メモリを非常に簡単に変更できます (実際には、これを使用してコード メモリを変更する必要があると思います!)。

本当に役立つのは、"次のステートメントを設定" して、PC をコード内の少し前の場所に戻すことです。レジスタとメモリが変更されていない場合、多くの場合、障害点に進むことができます。(ソース ウィンドウまたは逆アセンブリ ウィンドウにカーソルを置き、行をクリックしてから、[次のステートメントの設定] を右クリックします)

于 2013-03-21T19:48:46.130 に答える