In-circuit emulation (
ICE) is the use of a hardware device or
in-circuit emulator used to
debug the
software of an
embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carry out the main function of the system. Particularly for older systems, with limited processors, this usually involved replacing the processor temporarily with a hardware emulator: a more powerful although more expensive version. It was historically in the form of
bond-out processor which has many internal signals brought out for the purpose of debugging. These signals provide information about the state of the processor.