Mindbg is a simple debugger engine written in .net 4.0 for learning purposes. If you want to learn some CLR internals and especially debugging API read my blog (http://lowleveldesign.wordpress.com) where I describe all steps of mindbg implementation.
Part 4 - breakpoints
The fourth part explains how to create function and code breakpoints to control debuggee execution. The whole post may be found at [url:http://lowleveldesign.wordpress.com/2010/12/01/writing-a-net-debugger-part-4-breakpoints/]
Part 3 - symbol and source files
The third part explains how to bind binary code with the source file lines using symbols API. The whole post may be found at [url:http://lowleveldesign.wordpress.com/2010/11/08/writing-a-net-debugger-part-3-symbol-and-source-files/]
Part 2 - handling events and creating wrappers
The second part describes the process of handling debuggee events and introduces the concept of COM wrappers for debug interfaces. The whole post may be found at [url:http://lowleveldesign.wordpress.com/2010/10/22/writing-a-net-debugger-part-2-handling-events-and-creating-wrappers/]
Part 1 - starting the debugging session
The first part of writing the debugger is ready. I described in it the process of starting the debugging session (either by creating a process or attaching to the running one). The whole post may be found on my blog [url:http://lowleveldesign.wordpress.com/2010/10/11/writing-a-net-debugger-part-1-starting-the-debugging-session/]. The part 1 source code may be found in the downloads section.