I'm curious why you've chosen to work on this. Is there a program relying on this, or do you have some .NET debugging tools you'd like to use? Or are you thinking we'd implement our own debugging tool as well (perhaps extending winedbg)?
Better debugging tools for wine/mono would definitely be nice, but there are a lot of things we need, and this is not the first one I'd pick.
The current state of the art in Mono debugging is the soft debugger.
From what I've heard, all other debugger technologies in Mono have
been deprecated. http://www.mono-project.com/Mono:Runtime:Documentation:SoftDebugger
They have documentation on the wire protocol, which is probably what we'd end up using because .NET libraries are inconvenient to use.
From what I can tell, the soft debugger needs to be configured to
listen for TCP connections on a particular port. Ideally, we would want to modify it by adding a new "transport" using something like a named pipe server named based on the process id (it looks straightforward to do so, but we'd have to modify the mono runtime). Otherwise, I'm not sure how we'd identify the socket server for the process we want, and having mono run a TCP server all the time seems like a bad idea.
It may also be possible to configure mono to use the soft debugger in the "normal" way and attach to it with a Linux MonoDevelop, if you want a quicker solution. It seems like it's designed to remotely debug any mono process on any platform. If you figure out how to do this, wiki documentation would be appreciated.