2010/2/4 Marc-Andre Laperle <malaperle@xxxxxxxxxxxxx>
I'm not sure which thread to reply to :p
I strongly feel that the base CDT needs to be easy to use and have defaults. The user shouldn't need to read the wiki or the mailing list to choose a launcher and start debugging.
About Mac, it's great that CDI is getting patched for 6.0.2 but DSF-GDB in 7.0 is one patch away (bug 301720) from being slightly better IMO since threading will work better if I can't find a way to patch bug 269838.
Reasons to choose CDI over DSF-GDB on Mac
- CDI works with paths containing spaces (DSF bug 263689)
- Insert breakpoint while running (DSF bug 242943)
Reasons to choose DSF-GDB over CDI on Mac
- Threading works better *now* (301720 has a patch for DSF, 269838 has a patch for CDI which breaks 250037)
I think we should wait a bit (a couple of weeks?) before choosing the default for 7.0 and see how the two evolve. I'm all for DSF-GDB if it will be better maintained but I like how in CDI I can override a single command using the factory with the extension (org.eclipse.cdt.debug.mi.core.commandFactories). In this sense, I feel like DSF-GDB is less extensible.
About EDC, the fact that I can't use it on my PC worries me a bit (bug 301659). I like the fact that you don't need to install a seperate debugger, though. I will continue to test EDC (in a VM, sigh...) and report bugs and enhancements. I feel that if EDC becomes the default launcher for Windows, this will put CDT in a corner and be harder to maintain. By using using MinGW's debugger, CDT benefits from the work of existing communities (FSF, MinGW and others using MinGW's GDB like Code::Blocks). I want to improve debugging on Windows but it would be great to know which one to contribute to (CDI, DSF-GDB or EDC).
Cool, thanks Marc-Andre. This is great information. We'd really like to deprecate CDI, so if you're asking which one to work on, DSF/GDB is our recommendation, especially if you think you're close. And we really can't make DSF/GDB the CDT "default", at least as far as the launch configuration goes, until it works well on the Mac.
I'd really like the Nokia gang to state what they think the strategy for EDC should be, or what they are intending it for since they are investing pretty heavily in it. The one thing I think is firm is that it helps those who need to avoid GPL, and there is commercial need for that from some vendors. As I also mentioned, I'm curious whether it would make implementing a JNI debug story more easily as we have full control over what it's doing.
I am looking at using gdb for Windows now that we have a gdb 7 build for it from the MinGW gang. I was hoping to give EDC some exposure with Wascana and I might create a special build of it and still do that just to get feedback from the community.
Hopefully this is clear for everyone and we can get on with finishing CDT 7.