On 18 Mar 2010 at 16:44, Randy Dawson wrote:
Code debug probably is done best in a virtual machine,
or an emulator
where you can instrument the heck out of it. There once was 'bond out'
intel (and other) cpus specifically for emulation / debug. You got
hardware signal access to the internal registers and state of the
machine.
Yes, "bond-out" versions of chips always came after the initial
release of the chip and long after pre-release steppings--after the
people on the bleeding edge had already done their debugging the hard
way.
Ultimately, the best debugger usually turns out to reside somewhere
within the mushy wet stuff between the ears. Observe, conjecture,
test, confirm.
I've yet to see a simulator that will function exactly the same way
that an actual device does in responding to real-world events. The
problem is that the guy writing the simulator is working from the
vantage point of knowing how the device is *supposed* to work, not
how it actually works.
You never want a programmer who knows how your application works to
be the one testing it, because he knows how it's *supposed* to work
and unconsciously focuses his texting within that context.
--Chuck