How to Debug time critical code without stopping it

Software is oftenly time dependent. For instance if it interacts with another component on a remote server, the interaction might be time critical, which means that it shall not be stopped or interrupted as it otherwise might change the behavior of its system. The problem is, that even such software is prone to errors, but in case its runtime is stopped in order to debug the error it might change its behavior which might make it difficult to find out the problem behind the error.
1 answer

Debugging Aids using Temporal Visualization

One way to debug running programs without interrupting the is to visualize the value of the variable through recording read or write accesses on variables. For instance we created an Eclipse plugin which captured all accesses on selected code variables by examining watchpoints, provided by the Java Debug Interface. The read accesses as well as the write accesses were then tracked in a diagram, in order to make it possible to the code developer to inspect the value history of variables over the runtime. In case a variable history showed distortions, the developer had therefore a hint at which point of runtime his program might have failed.