A method and apparatus for debugging programs in a distributed
environment, such as a set of heterogeneous hardware processors
(integrated circuits or In-Circuit Emulators), and/or software-based
simulators. In one embodiment, the method comprises identifying a
plurality of processes; initializing each of the processes; executing
with a single thread of control among the processes; and continuously
cycling among the processes to obtain status information. A computer
program and apparatus for implementing the aforementioned methodology are
also disclosed.