Subj : Re: Not debugging? To : comp.programming,comp.lang.java.programmer,comp.lang.lisp From : Phlip Date : Sun Aug 28 2005 01:18 am Greg Menke wrote: >> Then define "legacy" as "requires debugging". > > Bizarre. Then define "foo" as "frequent punitive open-ended debugging causing occassional schedule risk". Some teams use "legacy" as a casual shorthand way to say "foo". Please substitute my definition for "foo" wherever I wrote "legacy", so we can address the actual points raised. > Nope- went through breadboard designs of the hardware using inputs & > outputs first from emulation hardware and eventually from the real > hardware. The breadboard designs are used to work up hardware and > software designs and implementations, feeding back changes & bugfixes, > etc into the evolving specs. Ideally, the working software meets the > working hardware later on in the project. Sorry to interrupt; why is that "ideal"? Does the software match up even later sometimes? > Low fidelity emulation is > pretty handy for easier classes of bugs early on; mismatched or unpacked > structs, endian stuff, etc.. But race conditions and pathological i/o > states (the harder problems) often depend on the real hardware in the > real operating environment (maybe interrupt timing changes because > capacitors & clocks drift when the system goes below freezing, for > example). As you stated before, in that space you often must research the nature of faults, and that research will occupy significant development time. >> Ideally, I would configure one button on my editor to run all tests >> against >> the emulator, then run all possible tests against the hardware. If the >> code >> fails in the hardware I would trivially attempt to upgrade the emulator >> to >> match the fault, so the code also fails with the emulator. But this is >> speculation, and of course it won't prevent the need to debug against the >> hardware. > > Neat. Who's going to pay for the emulator (build it & prove that it > matches the hardware- and keep it matching) when we also have to do the > real system? In my experience, many teams are too busy doing "foo" because they did not carefully plan a development environment that reduces the odds of "foo". I suspect your team does have a good development environment, so we may be talking past each other now. But that's no reason to stop! -- Phlip http://www.greencheese.org/ZeekLand <-- NOT a blog!!! .