Recently one of my colleagues asked me this question on the way back to home from office – “How do you design a debugger?”. We had some interesting discussions, made some assumptions on the support from OS, thoughts on what would happen in different approaches. I got this question at the back of mind and tried to find an answer and came across this site which has 3 parts that explains “How Debuggers work”. Though I haven’t read the articles completely [looks really geeky :)], I felt its worth sharing. In case if some one is curious like me to know about the topic, the below links might help
In case if any one finds anything simpler or good guides on the topic do let me know.
Next thing to know is “How does a code profiler work?”