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/MultiContext"

< DSDP‎ | DD
m
 
(74 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This sub-group is focused on improving the workflow of multi-context debugging.  ''Multi-context'' refers to simultaneous debugging of multiple cores, processes, threads, or other objects which are represented in standard debugger views.
+
The work tracked by this page has moved to this [[CDT/designs/MultiCoreDebug| new page]] as part of the CDT project.
  
== Use Cases ==
+
The Multi-core Debugging Work Group page can be found [[CDT/MultiCoreDebugWorkingGroup|here]].
 
+
'''Format:'''
+
* ''Family of use cases''
+
*; ''Use case'' : ''Description of the use case''
+
*:; ''Scenario'':
+
*:;:* ''Step''
+
 
+
* I. Programs with multiple threads
+
*;1  Two or more threads interacting : User is debugging a program with multiple threads which are interacting with each other. 
+
*:; a) Debugging threads which contend for the same lock. :
+
*:;:# When a thread blocks while stepping,
+
*:;:# User switches focus to another thread and steps until the lock is released,
+
*:;:# User switches focus back to the first thread and continues debugging.
+
*:; b) Debugging race conditions where multiple threads are reading and writing some shared data :
+
*:;:# User sets a breakpoint at a location where a shared variable is written. 
+
*:;:# Multiple threads hit the breakpoint
+
*:;:# User looks at each threads to see the thread-private data in each thread.
+
*:;:# User steps the threads individually to watch what happens to the shared data. 
+
*:;:# Alternatively, user steps all threads.
+
*:;:# Multiple threads may hit the breakpoint at the same time. 
+
*:;:# User sets another breakpoint further down in routines that access the shared data.
+
*:;:# User continues some or all of the threads which stopped at the first breakpoint so that they may reach the second breakpoint.
+
*:2 Debugging a subset of threads : User is debugging a program with multiple threads, but he is interested only in interacting with some of the threads.
+
*:; a) User debugs a routine which is executed by many threads.  User would like to observe a few of the threads as they execute the given routine.
+
*:;:# User creates a breakpoint on the routine to be debugged.
+
*:;:# User defines which threads should be allowed to hit the breakpoint.
+
*:;:# The threads hit the breakpoint and user steps through them.
+
*:;:# User terminates the process, and re-launches it.
+
*:;:# User continues debugging the given routine within the specific threads.
+
 
+
* 2 Multiple processes that interact with each other
+
 
+
* 3 Systems with multiple cores
+
 
+
 
+
== Problems with Current Workflow ==
+
 
+
== Proposed Changes ==
+
 
+
 
+
== Old Documents ==
+
This sub-group was created following a discussion about platform debug dev: [http://dev.eclipse.org/mhonarc/lists/platform-debug-dev/msg01179.html "ideas for improving multi-context debugging"]. 
+
* [[DSDP/DD/MultiContext_UnlinkViewContextProposal|Unlink View Context proposal]]
+

Latest revision as of 17:32, 16 November 2010

The work tracked by this page has moved to this new page as part of the CDT project.

The Multi-core Debugging Work Group page can be found here.

Back to the top