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.
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/]
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/]
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/]
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.