Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Draft plan

Hi all,

here's the draft plan for the debugger/launcher components.
The plan is split into 3 major "releases". The first is in 
october, as the first, working prototype implementation, the
second is targetted for march 2003, and the third for august 2003.

** October 2002 **

The focus is on creating a first working prototype of the CDT debugger,
that works with a gdb/mi backend. The debugger includes standard
functionality such as source file integration, stepping, variables,
etc. as well as C-specific views such as registers, assembly and memory.
It also includes an initial version of the C Debug Interface (CDI)
that is used to programmatically control the CDT debugger.


** March 2003 **

Based on the experience and feedback gathered with the october 
release, debugged features will be refined and finalized. The goal
is also to finalize the CDI interfaces. Some features are planned,
such as scripting/playback, tracepoints, a gdb prompt and C++ name
demangling.

Emphasis will also be placed on developing regression tests for the 
debugger components.

** August 2003 **

Feature set for this will be determined by the feedback and direction
that the CDT takes.



** Detailed work items for October 2002 **

CDT Debug

Supported platforms:
-	Linux w/gdb 5.2.1
-	QNX w/gdb 5.2.1
-	Maybe windows with cygwin and gdb 5.2.1 (need someone to take
ownership)

Basic debug functionality
-	step
-	source
- 	variables

CDI
-	Draft of debug interfaces

Breakpoints/Watchpoints
-	Add within C editor.
-	Enable/Disable/Remove within view and C editor.
-	Properties within view and C editor.
-	Support setting/changing breakpoints at anytime during execution.

	If time/resources permits;
	·	Thread conditional breakpoints.
	·	Outliner control of setting breakpoint on functions.
	·	Assembly editor with breakpoint on address

Variables
-	Viewing of variables (base type).
-	Viewing values in different formats.
-	Pointer type/Array expansion.
-	Changing values.
	If time permits;
	·	Cast to type.
	·	Expression evaluation.

Source Management
-	Basic source lookup in project and referenced projects.
	If time permits;
	·	Fallback to assembly.

Register View
-	Show all registers.
-	View values in different format.
	If time permits;
	·	Support creation of custom register sets.

Memory View
-	Basic hex dump.

Preferences/Properties
-	Basic UI preferences for Debug views (colors/formats/ others?).
	If time permits:
	·	Properties of target to change various attributes at runtime
(ie shared lib search paths).

Editor Support
-	Add hover support in C editor.

GDB/MI

Add Gdb launch options: 
-	gdb path.
-	Shared lib search path.

CDT Launching

-	Attach to Process.
-	Corefile support.
-	Allow extensibility to contribute own lauch parameters


One area that is lacking is user documentation, due to resourcing 
constraints.

====================================================================

Please review and comment on the plan. Also remember that if there's some 
feature that you'd like to see added, you help would be very welcome!

The CDT team


Back to the top