Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "DSDP/DD/Face-to-face Alameda 14-18-May-2007"

< DSDP‎ | DD
(Documentation to help get familiar with Eclipse Debugging and DSF)
(Agenda)
Line 48: Line 48:
 
:# [http://wiki.eclipse.org/index.php/DSDP/DD/DSF_CodingCamp_MultiThreadingExcercise Extend the run control service to support multiple threads]
 
:# [http://wiki.eclipse.org/index.php/DSDP/DD/DSF_CodingCamp_MultiThreadingExcercise Extend the run control service to support multiple threads]
 
:# [http://wiki.eclipse.org/index.php/DSDP/DD/DSF_CodingCamp_MemoryServiceExcercise Implement the memory service and connect the memory view to it]
 
:# [http://wiki.eclipse.org/index.php/DSDP/DD/DSF_CodingCamp_MemoryServiceExcercise Implement the memory service and connect the memory view to it]
 +
;Thrusday:
 +
: DSF Development Formalities:
 +
:* Filing Bugs
 +
:* Subscribing to bug email notifications
 +
:* Unit tests
 +
:* Coding conventions
 +
:** Keeping consistent coding style within modules
 +
:** TODO's
 +
:* Compiler warnings
 
; Friday:
 
; Friday:
 
: Create a project plan (must have)
 
: Create a project plan (must have)

Revision as of 17:18, 16 May 2007

The purpose of this meeting is to continue work on the DSF/GDBmi reference implementation staffed by Ericsson. This meeting will be very technical in nature and will focus on coding rather than presentations. The meeting is open to all, but please see the prerequisites below.

Date

Monday May 14 2007 to Friday May 18 2007

Hotel

Marina Village Inn
1151 Pacific Marina
Alameda, CA 94501
Water Front Room with Queen or King at special rate of 99$. The room has to be booked by phone and you need to specify you are visiting Wind River. This hotel is a short walk from the Alameda campus.
+1 800 345-0304 or +1 510 523-9450
Hotel Link Map

Location

Wind River Corporate Headquarters
500 Wind River Way
Alameda, CA, 94501
Map

Please come to the front desk in building 500, and ask for Pawel Piech, or for DSDP/DSF meeting.

Prerequisites

  • Installed on laptop Linux SUSE Enterprise Server 9 or 10
  • Install Java 5, Eclipse 3.3 M6, CDT 4.0(head from CVS), DSF 0.9(head from CVS), GDB 6.6 all on Linux
  • Read DSF documentation
  • Make the connection work between DSF and GDB
  • Understand the DSF API (reading the code)
  • Attend the phone conference on May 3 to ensure the above steps where successfully done

A Windows configuration could be use on non-Linux laptop:

  • Java 5, Eclipse 3.3 M6, CDT 4.0(head from CVS), DSF 0.9(head from CVS), MinGW GDB 5.2.1 (could also try with 6.3.2) all on Windows

Agenda

Monday
DSF and GDB/MI architecture knowledge transfer
Incompatibilities between DSF and the functionality provided by GDB
  • Is GDB going to support out-of-band events indicating threads starting/exiting?
  • In expression/variable managment, what is the cost of creating/deleting variables.
  • When sending CLI commands, is there anyway to have GDB return the equivalent GDB/MI result, or generate an out-of-band event corresponding to data changed?
Tuesday, Wednesday, Thrusday
Coding workshop: break up into groups of 2 to 4 and tackle design and implementation of a DSF service. Possible tasks for workshop:
  1. Complete the expression service implementation in order to :opulate the variables and watch views
  2. Extend the run control service to support multiple threads
  3. Implement the memory service and connect the memory view to it
Thrusday
DSF Development Formalities:
  • Filing Bugs
  • Subscribing to bug email notifications
  • Unit tests
  • Coding conventions
    • Keeping consistent coding style within modules
    • TODO's
  • Compiler warnings
Friday
Create a project plan (must have)
  • List of tasks for the GDB/MI reference implementation
Short discussion on DSF improvements to support embedded system profiling, to identify whether DSF would be a good fit for this problem

Attendees

  • Pawel Piech, Wind River
  • Randy Rohrbach, Wind River
  • Ted Williams, Wind River
  • Alf Larsson, Ericsson (CPP)
  • Veenu Verma, Ericsson (TSP)
  • Francois Chouinard, Ericsson (TSP)
  • Dominique Toupin, Ericsson (R&D PM&T)
  • Conor White, Ericsson (R&D PM&T)
  • Jim Blandy, CodeSourcery
  • Eugene Tassarov, Wind River
  • Stuart Fullmer, MontaVista

Other names will be added as we get confirmation.

Documentation to help get familiar with Eclipse Debugging and DSF

Unfortunately there is a long and steep learning curve when starting to develop debuggers for Eclipse. On the upside there is a lot of excellent documentation to help with this task. I recommend looking at these materials in the order listed below.

http://www.eclipse.org/articles/Article-Launch-Framework/launch.html
Article describing the Eclipse launch framework and a walk-through example of how to use it. Launch framework is a rather un-usual feature of Eclipse debugger, which causes some confusion to a lot of new Eclipse users and developers. Understanding the launch framework is essential in making sense of the overall debugger framework.
http://www.eclipse.org/articles/Article-Debugger/how-to.html
This article walks through creating a simple debugger with basic features using the "standard" eclipse debug model. Although the provisional "flexible hierarchy" interfaces introduced in Eclipse 3.2 make it possible to by-pass the standard model and this is what DSF does, understanding the standard debug model is still essential for backward compatibility and interoperability with third party tools.
http://www.eclipsecon.org/2007/index.php?page=sub/&id=3701
Presentation from a tutorial on Eclipse debugging from EclipseCon 2007. It contains a presentation with a very broad overview (214 slides) of debugger features, as well as a few examples on general debugger features, memory view, and flexible hierarchy. This tutorial is a lot to digest at one time, but it's also a very valuable resource in learning to use the debug framework.
http://dsdp.eclipse.org/help/latest/index.jsp?topic=/org.eclipse.dd.dsf.doc/docs/dsf_white_paper.html
DSF online documentation. The documents under this link are somewhat out of date with respect to specific package and class names, but in principle they are very relevant.
  • White Paper - Paper describing goals technology goals and principles
  • Services Model - Design document describing the framework for declaring and using services in DSF.
  • Concurrency Model - Design document describing the threading model of DSF
  • Data Model - Design document describing the data model to be used with DSF. This document is least complete of the design document, but it does touch on some of the important topics. It is best to study the flexible hierarchy framework and examples before looking at the DSF Data Model.
  • GDB/MI Implementation Setup Guide - A brief list of steps to install and run DSF GDB/MI implementation.
http://www.eclipse.org/downloads/download.php?file=/dsdp/dd/2007-1-9_Toronto_DSF_ViewModel.ppt
Presentation further describing the DSF Data/View model. This presentation was given at the last DD meeting in Toronto on January 10th, 2007. It gives an overview of the DSF integration with flexible hierarchy framework.
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.dd.dsf/plugins/org.eclipse.dd.dsf.examples/?root=DSDP_Project
Examples of use of DSF framework features. Studying these examples is the easiest way to get started on understanding and using DSF.
http://sourceware.org/gdb/current/onlinedocs/gdb_25.html#SEC232
GDB/MI documentation

Back to the top