cdt latest greatest tooling for c c
play

CDT: Latest & Greatest Tooling for C/C++ Jonah Graham, Kichwa - PowerPoint PPT Presentation

CDT: Latest & Greatest Tooling for C/C++ Jonah Graham, Kichwa Coders EclipseCon France 2016 CDT: The Open Source IDE for C/C++ Demo of Features New & Noteworthy Future Plans CDT Indexer: 5 facts 1. CDT index is over 10


  1. CDT: Latest & Greatest Tooling for C/C++ Jonah Graham, Kichwa Coders EclipseCon France 2016

  2. CDT: The Open Source IDE for C/C++ • Demo of Features • New & Noteworthy • Future Plans

  3. CDT Indexer: 5 facts 1. CDT index is over 10 years old 2. CDT’s indices hold a complete model of the code. 3. The model is paged in from disk lazily. 4. Most operations are faster in CDT than in JDT. 5. The new faster JDT Index is based on CDT’s index (Reference: https://docs.google.com/document/d/1w3-ufZyISbqH8jxYv689Exjm0haAGufdcSvEAgl2HQ4/edit#)

  4. DEMO

  5. ALSO NEW & NOTEWORTHY

  6. Removal of CDI

  7. If you are still using CDI... 1. Migrate to DSF – More powerful, asynchronous debug framework 2. Consider maintaining your own fork of CDI – It’s all open source! • Reach out to the community for help (cdt-dev forum) • Reach out to Kichwa Coders to discuss migration options

  8. Improved Source Lookup • Now using gdb’s ‘set -substitute- path’ backend to handle source mappings • Avoids this problem:

  9. Improved Source Lookup • Users can now configure a path mapping which means source lookup will always work

  10. Use Cases – Linux Use Case Mars Neon Compilation path is absolute and canonical (no ..)   gcc -o elf /path/to/file.c Compilation path is absolute and non-canonical (contains ..)   gcc -o elf /path/other/../to/file.c Compilation path is relative and canonical (no ..)   gcc -o elf to/file.c Compilation path is relative and non-canonical   (contains ..) gcc -o elf ../to/file.c

  11. Use Cases – MingGW Compile and Linux Debug Use Case Mars Neon Compilation path is absolute and canonical (no   ..) gcc -o elf /path/to/file.c Compilation path is absolute and non-canonical (contains ..)   gcc -o elf /path/other/../to/file.c Compilation path is relative and canonical (no ..)   gcc -o elf to/file.c Compilation path is relative and non-canonical   (contains ..) gcc -o elf ../to/file.c

  12. Use Cases – MingGW Compile and Linux Debug – UNC Paths Use Case Mars Neon Compilation path is UNC and canonical   gcc -o elf \\machine\share\path\to\file.c Compilation path is UNC and non-canonical gcc -o elf   \\machine\share\path\other\..\to\ file.c

  13. Use Cases – Cygwin Use Case Mars Neon Compilation path is absolute and canonical (no   ..) gcc -o elf /path/to/file.c Compilation path is absolute and non-canonical (contains ..)   gcc -o elf /path/other/../to/file.c Compilation path is relative and canonical (no ..)   gcc -o elf to/file.c Compilation path is relative and non-canonical   (contains ..) gcc -o elf ../to/file.c

  14. Use Cases – Cygwin – UNC Paths Use Case Mars Neon Compilation path is UNC and canonical   gcc -o elf \\machine\share\path\to\file.c Compilation path is UNC and non-canonical gcc -o elf   \\machine\share\path\other\..\to\ file.c

  15. CDT: ONGOING FEATURES

  16. CDT Docker Support

  17. Full GDB Console Full GDB command line behaviour in Eclipse Based on GDB 7.12 for CDT 9.1

  18. Groups Threads • control groups of elements • Better support for multicore e.g – Step groups of threads or processes – Set breakpoint on a subset of thread – Resume any set of multiple cores

  19. Macro Support • Visual Studio like Macro behaviour • Based on EASE project • Using Python • Allows for future Python GDB Integration • Works with launch to customize multicore debug launches

  20. New Build System • In the works • Improved support for CMake, QT • Ongoing discussions

  21. Improved Multicore Breakpoints • Show where breakpoint actually applies i.e which target, core, thread, etc • Allow users to easily control where breakpoints should apply • Persistence of breakpoints applicability • Support for multiple breakpoints at the same location configured differently • Synchronization with the GDB console should work in all cases • Get Involved: Call on the 14 th June

  22. Conclusions CDT has lots of great features for C/C++ development at scale. More great features coming soon. It’s a good time to get involved with the community!

Recommend


More recommend