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 "CDT/Obsolete/MultiCoreDebugWorkingGroup"

< CDT‎ | Obsolete
(Conference calls)
(Next Teleconference)
(179 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= '''Multi-Core Debugging Working Group''' =
+
= Introduction =
  
This page documents the activities of CDT's Multi-Core Working Group.  This group aims to bring together different people from the community to jointly work on developing multi-core debugging for CDT.  The group was first proposed at the CDT Summit 2010 and the suggestion was well received.
+
This page documents the activities of CDT's Multi-Core Working Group.  This group aims to bring together different people from the community to jointly work on developing multi-core debugging for CDT.  The group was first proposed at the [http://wiki.eclipse.org/CDT/summitfall2010 CDT Summit 2010] and the suggestion was well received.
  
Any one interested in helping in this effort is welcome to follow or join the group.
+
Although this effort does cover the debugging of target with multiple cores, we use the term ''Multi-core debugging'' in a much wider sense.  ''Multi-core debugging'' is meant to describe the simultaneous debugging of multiple cores, processes, threads, or other objects which are represented in standard debugger views.
  
=== Conference calls ===
+
Any one interested in helping in this effort is welcome to follow or join the group. Teleconferences are held on a regular basis to discuss progress, issues, features, tasks, etc.<br>
  
Conference calls should be held on a regular basis to discuss progress, issues, features, tasks, etc.<br>
+
= Next Teleconference =
Currently, we have conference calls the third Tuesday of every month (two weeks after the general CDT conference call).  The call info is:
+
  
: Third Tuesday of the month at 11 a.m. Ottawa time
+
Every second Tuesday of the month at 11 a.m. Ottawa time <br>
: Canada and US Toll Free - (877) 748-5444
+
The next one will be on Tuesday November 11th, 2014<br>
: [[CDT/MultiCoreDebugWorkingGroup/calls | International Numbers]]
+
: Conference ID - 620 4947
+
: [[CDT/MultiCoreDebugWorkingGroup/calls/minutes | Upcoming agenda and previous minutes]]
+
  
=== Suggested features ===
+
The call info is the same as for the CDT monthly calls:
  
# Grouping of debug view elements
+
* North America 1-866-569-4992
# Debug operations (step, resume) on groups
+
* Germany 49-692-2224-6059
# Hiding of debug view elements
+
* France 33-(0)-17-070-8535
# User-selectable Debug View layouts
+
* UK 0800-033-7806
 +
* Switzerland 41-44-580-2115
 +
* Sweden 46-85-063-8386
 +
* Italy 003-902-3604-8268
  
=== Current issues ===
+
Attendees use this: Extension: 700 Passcode: 19455
  
# DSF sees to have a limitation where it only accepts a single level of IContainerDMContext.
+
'''Agenda'''<br>
 +
* [http://eclip.se/439624 Per-element formatting for expressions and variables] and cross-session view updates
 +
* SWTBot testing for Debug/CDT
 +
* Launch bar next steps/integration with our launches
 +
* [http://eclip.se/235747 Register grouping]
 +
* Example plugin showing how to extend DSF-GDB
 +
* New UI
 +
* Other
  
=== Multi Level Hierarchy in the Debug View using DSF (Dobrin)===
+
= Previous minutes of meetings =
  
Currently Platform Flexible enabels the debug view to show any hierarchy of objects.
+
: [[CDT/MultiCoreDebugWorkingGroup/calls/minutes | Previous minutes of meetings]]
  
DSF currently has defined two data model interfaces IExecutionDMContext and IContainerDMContext
+
= Features of current interest =
and two view models classes: AbstractThreadVMNode and AbstractContainerVMNode. <br>
+
I would like to explore these interfaces and the classes using them to deliver the following features:
+
  
* Containers can be recursive - each container can have its own stack and/or other child containers.
+
The following is a list of features have had some effort invested in them but are not ready for release.  The effort might have stopped due to lack of resources, but could be easily revived.
* The user should be able to filter and show container nodes or container types.
+
* The user should be able to group and ungroup container nodes or container types.
+
* Filtering and grouping nodes can be both with the involvement of the back end debugger or not.
+
* The user should be able to change the way the contaniers are presented in the debug view without changing the container's hierarchy.   
+
* The containers can have types so the user can filter or group containers by container type.  
+
  
I believe these features are driven from the following use cases:
+
# [[CDT/MultiCoreDebugWorkingGroup/MultiLevelHierarchy | Multi Level Hierarchy in the Debug View]]
 +
# [[CDT/MultiCoreDebugWorkingGroup/DebugElementsGrouping | Grouping of debug view elements]]
 +
# [[CDT/MultiCoreDebugWorkingGroup/DebugElementsHiding | Hiding of debug view elements]]
 +
# [[CDT/MultiCoreDebugWorkingGroup/DebugViewLayouts | User-selectable Debug View layouts]]
 +
# [[CDT/MultiCoreDebugWorkingGroup/VisualizerView | Visualizer View]]
 +
#* A first version of the Multicore Visualizer as well as the Visualizer Framework are part of the Juno release
 +
#* Many enhancements are still of interest.
 +
# [[CDT/MultiCoreDebugWorkingGroup/SynchronizedOperations | Synchronized/Grouped Run Control Operations]]
 +
#* User defines a group (cores or processes or threads) which makes up the application, and can perform application-level operations on it
 +
# [[CDT/MultiCoreDebugWorkingGroup/GlobalBreakpoints | Global breakpoints]]
 +
# [[CDT/MultiCoreDebugWorkingGroup/EnhancedBreakpoints | Enhanced Breakpoint Support]]
 +
# [[CDT/MultiCoreDebugWorkingGroup/NewLaunchUI | New Launch UI]]
  
User cases:
+
= Features already completed =
* UC1:
+
The debug view shows hierarchy "core – process - thread"
+
The user can switch the hierarchy to show "process – thread – core"
+
  
* UC2:
+
[[CDT/MultiCoreDebugWorkingGroup/CompletedFeatures | List of features that have already been implemented.]]
The debug view shows hierarchy "core – thread – process"
+
The user can hide and show all "core" nodes. All "thread" nodes will appear as children of the launch node.
+
The user can hide specific core from the hierarchy. Its "thread" nodes can either hide, or they can become children of the launch node.  
+
  
* UC3:
+
= Potential future features =
The user of a multicore system can hide and show the boards the cores / devices / connections the core belongs to.
+
  
* UC4:
+
[[CDT/MultiCoreDebugWorkingGroup/PotentialFeatures | List of features that have been proposed]] and may be addressed in the future.
The user can create custom groups that he can use for synchronized stepping / running / halting.  
+
  
* UC5:
+
= Use Cases =
The user can hide in the debug view all threads and processes with names that matches a specific pattern.
+
  
Currently I know of two Bugzilla entries related to the idea:
+
* [[CDT/MultiCoreDebugWorkingGroup/UseCaseKernelDebug | Kernel Debug (also: bare-metal/bootloader debug)]]
+
* [[CDT/MultiCoreDebugWorkingGroup/UseCaseEmbeddedApplicationDebug | Embedded Application Debug]]
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=240208 Bug 240208] A single VMNode should represent all execution levels<br>
+
** [[CDT/MultiCoreDebugWorkingGroup/UseCaseApplicationDebug | Develop-on-Target (local application debug)]]
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=306868 Bug 306868] DefaultVMModelProxyStrategy does not generate proper delta with recursive VM nodes<br>
+
 
+
I think we can reuse the first one to further discussion on the topic.
+
To discuss requirements and use cases we can use this page.
+
 
+
=== Related Information ===
+
 
+
[http://wiki.eclipse.org/CDT/designs/MultiCoreDebug Original CDT Multi-Core wiki page]<br>
+
[http://wiki.eclipse.org/PinAndClone Pin & Clone effort]
+

Revision as of 11:51, 14 October 2014

Introduction

This page documents the activities of CDT's Multi-Core Working Group. This group aims to bring together different people from the community to jointly work on developing multi-core debugging for CDT. The group was first proposed at the CDT Summit 2010 and the suggestion was well received.

Although this effort does cover the debugging of target with multiple cores, we use the term Multi-core debugging in a much wider sense. Multi-core debugging is meant to describe the simultaneous debugging of multiple cores, processes, threads, or other objects which are represented in standard debugger views.

Any one interested in helping in this effort is welcome to follow or join the group. Teleconferences are held on a regular basis to discuss progress, issues, features, tasks, etc.

Next Teleconference

Every second Tuesday of the month at 11 a.m. Ottawa time
The next one will be on Tuesday November 11th, 2014

The call info is the same as for the CDT monthly calls:

  • North America 1-866-569-4992
  • Germany 49-692-2224-6059
  • France 33-(0)-17-070-8535
  • UK 0800-033-7806
  • Switzerland 41-44-580-2115
  • Sweden 46-85-063-8386
  • Italy 003-902-3604-8268

Attendees use this: Extension: 700 Passcode: 19455

Agenda

Previous minutes of meetings

Previous minutes of meetings

Features of current interest

The following is a list of features have had some effort invested in them but are not ready for release. The effort might have stopped due to lack of resources, but could be easily revived.

  1. Multi Level Hierarchy in the Debug View
  2. Grouping of debug view elements
  3. Hiding of debug view elements
  4. User-selectable Debug View layouts
  5. Visualizer View
    • A first version of the Multicore Visualizer as well as the Visualizer Framework are part of the Juno release
    • Many enhancements are still of interest.
  6. Synchronized/Grouped Run Control Operations
    • User defines a group (cores or processes or threads) which makes up the application, and can perform application-level operations on it
  7. Global breakpoints
  8. Enhanced Breakpoint Support
  9. New Launch UI

Features already completed

List of features that have already been implemented.

Potential future features

List of features that have been proposed and may be addressed in the future.

Use Cases

Back to the top