When you install and use the Microsoft Remote Debugging tool (vsmon.exe), you are directed to then use Visual Studio to attach to the remote debugging tool for actual debugging.
I cannot find:
- Any details of the protocol used between the remote debugger and Visual Studio
- Any source code for acting as the client to the remote debugger
- Any dll for interacting with the remote debugger as a third party application
Is this not feasible? (Ie. My assessment above is mostly/all accurate)
Can any one think of a way to remotely debug a managed application which is running on the MS .NET CLR, without Visual Studio, but rather my own toolset (say in C#)?
Thanks.
(NOTES:
- MDBG – Is a command-line tool with source code. I believe this tool can only be used for debugging local managed processes only, and does not connect to the remote debugging tool.
- (There is also the Mono debugging stack, however my question relates to debugging .Net (runing managed code on .Net, not Mono))
)
I can confirm that the Debugging API underlying MDBG, does not support remote debugging directly.
Note, however that a proxy process is nominated in this statement as a possible solution to that shortcoming.
Remote Debugging can therefore be considered feasible levaraging the Debugging API, (check out the MDBG source code for reference on how to use the Debugging API), to expose a network API.