Samsung / netcoredbg

NetCoreDbg is a managed code debugger with MI interface for CoreCLR.
MIT License
780 stars 101 forks source link

Return capabilites as a result of `initialize` #14

Closed mickaelistria closed 5 years ago

mickaelistria commented 5 years ago

I see that invocations of initialize will emit the capabilities event. However, the spec also allows to return the capabilities as a response (and even kind of recommends it as the capabilities event isn't at all involved in the sequence described in https://microsoft.github.io/debug-adapter-protocol/specification for "Initialized Event"). Not having capabilities at that time makes processing by clients more complex and error-prone. Please make the the capabilities are also returned (and not only emitted) as a response to initialize.

mickaelistria commented 5 years ago

I don't have any practical skill in C++, but I'll try to submit a PR to at least explain what I think a remediation can be.

mickaelistria commented 5 years ago

Here is a PR of what I think can fix the issue: https://github.com/Samsung/netcoredbg/pull/15 As mentioned, I'm not a C++ developer; I didn't use an IDE nor a rich editor, didn't even try to build. I only put that here as "something that looks like a possible solution", I'll let you have a look at it and tell how bad it is ;)

mickaelistria commented 5 years ago

Thank you @ayuckhulk for the review and merge. I just tried with latest build of netcoredbg available in https://github.com/Samsung/netcoredbg/releases and this makes things much better from Eclipse IDE integration side.

ayuckhulk commented 5 years ago

@mickaelistria You are welcome! It's great to see this project became useful outside of Samsung :smile:

mickaelistria commented 5 years ago

netcoredbg is the only open-source and free to use debugger that talks Debug Adapter Protocol, it ticks enough cases to be successful ;) FWIW, we (Red Hat) have it integrated in Eclipse IDE (I'm maintaining this integration in Eclipse aCute plugin) and in Eclipse Che and/or Eclipse Theia (@svor is taking care of this). If at some point you need some testimonials or documentation/videos showcasing netcoredbg in the outer work to help you make it even more successful, feel free to ping us and we'll see what we can do.