Monitoring, Tracing, Debugging (Under Construction)

I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003. He mentions a whole range of useful tools for performance tracking and bug finding on Linux and I decided to take his list and give some additional background on how these things work.

After being a unix kernel hacker for some year I moved into user space and started to develop more and more user level code. I soon realized that the style of development used for kernel hacking is quite different to the one needed for servers, frameworks and applications. Some concepts still apply, like logging events. Others change, e.g. using garbage collectors. Some of the tools that made the biggest impression where Pure Atria's Purify (now IBM Rational) - object code instrumentation the easy way. And the Visual Age (now Eclipse) Debugger which made me give up on printf/println style of finding bugs.

Look at the resource section at the end for links.