命令ステップとは、コンピュータプログラムを1ステップずつ実行し、その動作を確認する方法です。これは、実行中にプログラムが正しいプログラムフローに従っているかどうかを確認したり、1ステップの完了後に 変数が正しい値に設定されているかどうかを確認したりするために行われます。
初期のコンピュータでは、コンピュータコンソールのノブでステップバイステップ実行モードを選択でき、「シングルステップ」または「シングルサイクル」ボタンを押すことで実行が進められました。プログラムステータスワード、メモリ、または汎用レジスタの読み出しは、コンソールのランプを観察して確認することで可能でした。
複数のユーザーが使用する後のプラットフォームでは、この方法は実用的ではなかったため、ソフトウェア技術を使用して単一ステップ実行を実行する必要がありました。
高水準言語のデバッグを容易にするソフトウェア製品の中には、高水準言語文全体を一度に実行できるものがあります。これは多くの場合、多くの機械語命令を伴い、命令シーケンスの最後の命令実行後に実行が一時停止し、次の「命令」ステップの実行に備えます。そのため、各文のスコープを決定するには、コンパイル出力との統合が必要になります。
一方、フル命令セットシミュレータは、マシンコードレベルで動作するため、ソースコードの有無にかかわらず命令のステップ実行が可能です。また、統合によって利用可能な上位レベルへの完全なトレース情報とデバッグ情報もオプションで提供します。さらに、HLL文によって生成された各アセンブリ(マシン)命令をステップ実行することも可能です。
この技術を使用すると、コンパイルされた言語の混合からコンパイルされた複数の「モジュール」で構成されたプログラムや、動的に割り当てられたメモリに「オンザフライ」で作成された命令にも対応できます。