逆アセンブラ
高級言語により作成されたソフトウェアのデバッグの手段として逆アセンブラを用いることがある。このためには独立した逆アセンブラを利用することもあるが、デバッガの機能の一部として提供される、ソースコードと機械語と逆アセンブル結果を混合して表示する「混合モード」(Mixモードとも言う)を利用することも多い。
高級言語は機械語にコンパイルすることによって実行形式を得るが、時としてプログラマが意図した高級言語のコーディングと、コンパイラが意図したコンパイル結果が一致しない事がある。また、コンパイラにはバグがあることもあり、時として間違ったコンパイルを行うことがある。このような場合は、コンパイル前のソースコードをいくら眺めてもバグの原因を見極める事は困難であるため、実行コードである機械語を直接検証する必要がある。
逆アセンブラ(ぎゃくアセンブラ、英: disassembler; ディスアセンブラ)とは、逆コンパイラの一種であるが、実行ファイルないしオブジェクトファイルの機械語コード(とシンボルテーブルなどの付随情報)を基に、アセンブリ言語ソースコードを生成する、すなわちアセンブラの逆の作用をするものを特に指す。一般の(高水準言語コードを生成するような)逆コンパイラよりも比較的容易である。