インサーキット・エミュレータ
最も初期のICEでは、CPUの内部回路をいくつかに分けて基板上に再現したものが存在した。これが古典的なICEであり、CPU回路が複雑化し動作速度も向上すると、外部でフリップフロップ回路をつないでいたのでは対応できなくなり、初期のフルICEの方式は比較的短命であった。
機械語の1命令、もしくは、ソースコードの1行のみを実行して即ブレークする。ソースコードの1行をステップ実行する場合は、関数呼び出しを1行として関数から戻った時点でブレークする方式と、関数に入ってブレークする方式がある。 またICEによっては、ブレークした時点から逆戻るステップ実行も可能である。コンパイラの最適化によってコードが別の場所に移動した結果として、該当ソース行に相当する機械語がなくなる場合があり、その場合は該当ソース行は抜かされているように見える(また、該当ソース行には相当する機械語が存在しないため、ブレークポイントは設定できない)。