I was recently asked “Are there any plans to standardize (ECMA for example) the debugging APIs?”
Short answer is “No”.
My two cents: In my opinion, ICorDebug is not yet ready to be standardized:
- Standardizing it would impede our ability to innovate the API.
- IMO, it’s not clear there’s a significant benefit to standardizing it. On the other hand, I think it makes more sense to standardize the compiler’s output (metadata, symbols, IL formats, etc) because significantly more people write their own .NET compilers. But I believe the managed debugger niche is pretty small, and I’m not aware of a large audience asking it to be standardized.
- The interop-debugging portion of ICorDebug mirrors the native-debugging APIs. Native Debugging is so platform specific, it’s hard to standardize it. For example, native debugging relies on platform specific APIs inspecting platform-specific properties of a process.
Kelvin Hoover, a Program Manager on the CLR, has more knowledge on these sort of matters than I do. He sums it up saying: “Debugging is considered an implementation detail. They have however standardized a debug symbol file format”.