Jump to: navigation, search

Difference between revisions of "CDT/Better Debugging (GSoC project)"

< CDT
(Detailed Project Description)
(Detailed Project Description)
Line 14: Line 14:
 
One of main parts of this project is to provide users with more readable representation of their data.
 
One of main parts of this project is to provide users with more readable representation of their data.
  
For example, when user watches on a <nowiki>vector<int></nowiki> variable he/she expects to see not an internal implementation of the vector, but its contents:
+
For example, when user watches on a <nowiki>vector<int></nowiki> variable he/she expects to see not details of internal implementation of vector, but its contents:
<source lang="c++">
+
<source lang="cpp">
 
vector<int> v;
 
vector<int> v;
 
for (int i = 0; i < 5; i++)
 
for (int i = 0; i < 5; i++)
Line 21: Line 21:
 
</source>
 
</source>
 
should display value of v as {0, 1, 2, 3, 4}.
 
should display value of v as {0, 1, 2, 3, 4}.
 +
 +
Displaying an object as a human-readable string will be done via ''Formatters''.
 +
 +
Successful completion of this project will implement default at least following formatters:
 +
* Basic STL containers
 +
** vector<T> will be displayed as
  
 
== Schedule of Code and Deliverables ==
 
== Schedule of Code and Deliverables ==

Revision as of 21:03, 27 March 2009

This page contains detailed description of "Better Debugging Environment" project for Google Summer of Code.

Summary

The goal of this project is to create more user-friendly debugging environment. This includes (but hopefully is not limited to):

  • Default formatter for STL container types (map, vector, queue, priority_queue, ...)
  • Default formatter for user structures.
  • Support for custom formatters.
  • Viewing variable content by simply hovering mouse over it.
  • Fixing usability issues (see below).

Detailed Project Description

This projects is intended to make debugging with CDT at least as comfortable as with Microsoft Visual Studio.

One of main parts of this project is to provide users with more readable representation of their data.

For example, when user watches on a vector<int> variable he/she expects to see not details of internal implementation of vector, but its contents:

vector<int> v;
for (int i = 0; i < 5; i++)
    v.push_back(i);

should display value of v as {0, 1, 2, 3, 4}.

Displaying an object as a human-readable string will be done via Formatters.

Successful completion of this project will implement default at least following formatters:

  • Basic STL containers
    • vector<T> will be displayed as

Schedule of Code and Deliverables