Instrumenting software intrinsically involves changing it, which raises the specter of affecting, instead of simply observing, its behavior. This is dangerous during diagnosis, because introducing an unintentional change during a series of experiments can easily lead to you draw invalid conclusions.
Fundamentally speaking, there is no way that you can guarantee to avoid introducing some side effects. The fact that you’ve modified the source code means that the layout of the object code in memory and the timing of its execution will be affected. Happily, most of the time this remains a purely hypothetical problem—as long as you’re careful to avoid the more obvious side effects, you can normally ignore the issue.
Nevertheless, it is very good practice to keep the source code as close to its pristine form as possible. Don’t allow failed experiments, along with their possible side effects, to accumulate over time. Keeping things neat also helps ensure that the code remains easy (or at least, no harder) to understand and will help ensure that you don’t check in unintended changes when you eventually come to fixing the problem.
Source of Information : Paul Butcher - Debug it Find repair and prevent bugs
0 comments: on "Beware of Heisenberg"
Post a Comment