CDT: Latest & Greatest Tooling for C/C++ Jonah Graham, Kichwa - - PowerPoint PPT Presentation
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
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 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#)
DEMO
ALSO NEW & NOTEWORTHY
Removal of CDI
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
- ptions
Improved Source Lookup
- Now using gdb’s ‘set-substitute-path’ backend
to handle source mappings
- Avoids this problem:
Improved Source Lookup
- Users can now configure a path mapping
which means source lookup will always work
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
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
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
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
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
CDT: ONGOING FEATURES
CDT Docker Support
Full GDB Console
Full GDB command line behaviour in Eclipse Based on GDB 7.12 for CDT 9.1
Groups Threads
- control groups of
elements
- Better support for
multicore e.g
– Step groups of threads
- r processes
– Set breakpoint on a subset of thread – Resume any set of multiple cores
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
New Build System
- In the works
- Improved support for CMake, QT
- Ongoing discussions
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 14th June