Why is an emulator better than a software debugger?

What is an emulator?

An emulator is a debug tool with two functional groups of features.

One group of features implements run control, which allows you to control the operation of the processor. Run control actions include GO, HALT, STEP, and Hit Breakpoints at given memory locations.

The second group of features is used to capture and record processor activity as it is shown on the processor bus. The triggering system allows you to specify conditions to control capturing of trace information. The trace system records the processor bus activity in high-speed RAM.

Together, run control and bus activity recording provide you with a powerful debugging tool.

Why is the emulator better?

An emulator's features reach far beyond those of a software debugger. A full-featured emulator provides:

  • State-of-the-art source level debugger
  • Advanced trigger and trace

Electrical signals
An emulator is directly connected to the processor. By sending electrical signals, the emulator can access portions of the processor that a software debugger cannot. You can view and modify registers that are unavailable to a software debugger. The hardware signal allows better run-time control.

Real-time processor activity
An emulator records processor activity in real time. If a problem occurs you have a history of activity to review.

During the boot process
When a system's startup code needs to be debugged, a software debugger cannot help. The software debugger relies on the target's operating system to provide access to the system and the communication port, rendering it useless during the boot process. The emulator provides its own communication port and can access any part of the system, just like the processor. Only an emulator can provide the information you need during this critical stage of debugging.

After the target crashes
If the target system crashes, the operating system usually suspends operation, and the software debugger is inoperative. An emulator is not affected by a system crash, and will preserve the trace information and the processor state information, including the register values. This is vital when re-creating the situation that caused the problem.

What is trigger, and how can it help?
What is trace, and how can it help?


This page was last updated on June 20, 2000
© 2000 Microtek International, Inc.
Webmaster