There are two ways to debug applications. The obvious one is to use a debugger. This is great while you are developing the application initially, but once the application is out in the wide world, it's not too hot. How do you debug a client application in Paris if you are in San Francisco? And so, there's a second way – ‘instrument' the software.
‘Instrumentation' at its simplest is scattering print statements like “I'm here” at various places in the code. (...) more...