Skip to main content
Jump to: navigation, search

CDT/Obsolete/MultiCoreDebugWorkingGroup/calls/minutes/2012

2012 Multicore Debug Workgroup Minutes of Meetings

December 11th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Marc Dumais (Ericsson)
  3. Mikhail Khodjaiants (Mentor)
  4. Vladimir Prus (Mentor)
  5. Jeff Johnson (Red Hat)
  6. Jason Litton (Sage)
  7. Abeer Bagul (Tensilica)
  8. Bill Swanson (Tilera)
  9. Pawel Piech (Windriver)
  10. Randy Rohrbach (Windriver)
  11. Marc Khouzam (Ericsson)

Minutes

  • Support for GDB breakpoint notifications Bug 392512
    • Checked-in
    • It would be valuable to have per-target breakpoint entries.
    • Marc to review bug fix for bug 396081
    • JUnit being reviewed
  • Reverse debugging breakpoint action Bug 365776
    • Ability to enable/disable/toggle reverse debug when
  • Pin&Clone in platform Bug 145635
    • Pawel will post a new patch very soon for people try out
  • Extend CDT launch to allow external profiling Bug 391608
    • Marc K to try out soon
  • CPU usage shown in Multicore Visualizer
    • Prototype to display CPU available
    • Currently
  • Enhanced expressions for both variables and registers Bug 394408
    • Need to disable some context-menu actions that don't work for enhanced expressions.
    • Marc will update the patch as soon as that is done
  • Expression working sets 372181
    • Still important and Pawel will review, but he needs to finish Pin&Clone first because it is for platform
  • Breakpoints changes Bug 396230 and Bug 396237
    • Should we add Categories to group breakpoint pages?
    • Should we always show the 'Filter' page and leave it empty when we don't have the thread info?
    • Having a category helps a bit in indicating to the user that some pages are currently not available, although the page not being there can still be quite confusing to the user
    • Sorting of pages will be done as well

November 20th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Marc Dumais (Ericsson)
  3. Mikhail Khodjaiants (Mentor)
  4. Vladimir Prus (Mentor)
  5. Abeer Bagul (Tensilica)
  6. Bill Swanson (Tilera)
  7. Pawel Piech (Windriver)
  8. Marc Khouzam (Ericsson)

Minutes

  • Expression working sets Bug 372181
    • Pawel will set aside some time to review but also to look into automatic selection of working sets based on active context
  • Breakpoint filtering Bug 360735
    • Feature has been merged in master
    • Still need to reduce communication with GDB by using caching, but this depends on the "Support for GDB breakpoint notifications"
  • Support for GDB breakpoint notifications Bug 392512
    • Almost ready, working on JUnit tests
    • Do we handle the case of disconnecting tracing, upon re-connection?
  • Enhanced expressions for both variables and registers Bug 394408
    • Prefix '=' will be used for user to indicate a pattern-matching expression.
    • '=' will be required for registers to avoid breakpoint multiply operation e.g., $ea*2
    • Marc is trying to support array index range e.g., =myArray[20-30]
    • We already support $ea[2-3] to mean $ea2 and $ea3
  • Multicore visualizer CPU usage
    • Ericsson will be working on this
    • Using /proc through GDB to provide that information
    • Polling mechanism with user-configurable interval
    • Can be turned off, probably from the view menu
  • Pin&Clone in platform
    • Pawel now has support for re-pin after a debug session is terminated and restarted
    • Once available the CDT one will need to be turned off/removed
    • Pin decorator will not be supported in platform but a breadcrum will show the context
    • It could be possible to persist pin info between eclipse restarts
  • Generic Launch shortcuts
    • Mentor is working on an improved dialog for multi-process launching. When ready, they expect to propose it to the community
  • TCF debugger and breakpoints
    • CDT breakpoint not sufficient
    • They are trying hard to keep enhancements backwards compatible

October 9th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Mikhail Khodjaiants (Mentor)
  3. Eugene Ostroukhov (NVidia)
  4. Jeff Johnson (Red Hat)
  5. Jason Litton (Sage)
  6. Abeer Bagul (Tensilica)
  7. Bill Swanson (Tilera)
  8. Pawel Piech (Windriver)
  9. Marc Khouzam (Ericsson)

Minutes

  • New "OS Resources" view. See N&N
    • Linux only
    • Done in a generic way in CDT, which means that if GDB supports it on Windows, or if new resoruces are added, it will automatically be shown in CDT.
  • Breakpoint filtering Bug 360735
    • To reduce communication with GDB, should we not send breakpoints that are disabled? This is how we used to do things, but for the filtering feature we changed this. We felt it was more user-friendly to show disabled bp that were installable in GDB.
    • This will need more thought and discussion
    • Marc to do an update of the patch to improve caching
    • Mikhail will review once update is posted
  • Starting a new process on a remote target Bug 344890
    • Mikhail will continue to work on it when he has a bit more time
  • Breakpoint synchronization
    • Will allow to have breakpoint view in Eclipse show bps that are created manually in the gdb console
    • Will allow to connect to a target that already has tracepoints and synchronize the breakpoints view in Eclipse with what is on the target
  • Expression working sets Bug 372181
    • Platform patch posted and well received. This is the bigger part of the necessary change for this feature. Pawel and Abeer are working on it.
    • Small change in DSF-GDB to extend the platform, once working-set support is available
  • Generic Launch shortcuts
    • GDB now supports attaching to multiple processes and starting multiple new processes in the same session. Our "local C/C++ application" and "Attach to C/C++ application" launches are starting to overlap. Can we find a simpler way to handle this?
    • What about two launch shortcuts: "Debug As -> Local C/C++ session" and "Debug As -> Remote C/C++ session". The user would then start/attach to processes manually.
    • Proposal to include "Profile As..." support into CDT which would re-direct work to Linux Tools. See http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg25042.html. Jeff to open bugzilla about this enhancement
    • Mentor is working on an improved dialog for multi-process launching. Maybe something they will propose to the community.

September 11th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Leo (Intel)
  3. Mark Goodchild (Renesas Electronics)
  4. Jason Litton (Sage)
  5. Patrick Chuong (TI)
  6. Pawel Piech (Windriver)
  7. Randy Rohrbach (Windriver)
  8. Marc Khouzam (Ericsson)

Minutes

  • Per-target breakpoint in bp view, as proposed by TI at eclipseCon. See slide 17 of this presentation
    • Patrick described TI's feature for the breakpoint's view, as detailed below:
      • New grouping category to have a core name as the root node, and relevant breakpoints as children
      • New grouping category to have a 'generic' breakpoint as the root node, and the potentially multiple actualy breakpoints as children
        • An in-line breakpoint will be shown as a group with each child being the breakpoint for one particular location. In this case, new platform breakpoints must automatically be created to be shown in the different source files
        • A breakpoint set in a file will be created on all cores. In that case there will be a main entry for the breakpoint, and children under it for each of the cores it was installed on. In this example, the children breakpoints are not platform breakpoints.
      • Breakpoint properties are handled in a generic and dynamic way. The backend provides information about which properties are available for a breakpoint, and those properties are displayed in a tree structure automatically
      • The columns of the breakpoints view are driven by an XML file, and show the common properties of breakpoints (e.g., location, condition, count, action)
      • The Properties view is used to show the entire hierarchy of breakpoint attributes using a tree representation. Updates to this view are propagated back to the backend
    • Ericsson is interested in getting these features in open-source. TI's work is done for their own breakpoint type and not CDT's breakpoint. However, we should work together to align the UI and behavior.
    • DSF already has some base classes to use the flexible-hierarchy for breakpoints view. They can be used to start this work.
  • Pin&Clone in platform Bug 145635
    • Pawel would like to add Pin&Clone in platform and wants to unify it with the CDT implementation
    • He would appreciate feedback on his proposal. Marc and Patrick to try out the patch from Bug 145635. Others also welcomed to try.
    • There would need to be an API to do Pin&Clone for a generic context provider
    • Missing 'reselect after relaunch' feature provided by CDT's Pin&Clone
    • Missing 'multiple selection pin' feature provided by CDT's Pin&Clone

Posponed to next month

  • Generic Launch shortcuts
  • Breakpoint filtering Bug 360735

July 10th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Mikhail Khodjaiants (Mentor)
  3. Jason Litton (Sage)
  4. Abeer Bagul (Tensilica)
  5. Bill Swanson (Tilera)
  6. Marc Khouzam (Ericsson)

Minutes

General

  • Marc on vacation next meeting. If someone can chair the meeting that would be great, if not, we'll have to cancel the August call.

Demo of Expressions view working sets

  • Abeer gave a nice demo of the current status of the Expressions view working set (see bug 372181).
  • Working sets can be created in the expressions view and associated to an instance of the view
  • A user can then create a set of expressions for a core, and pin the view to that core; then she would use a cloned view to show a different set of expressions for another core. That way, only expressions that make sense to the relevant core would be shown.
  • Suggestion to display in the view what working set is active at the time. We could use the view secondary id as is done by the Clone feature, or maybe it would be better to use the 'description' bar that is used by the Pin feature.
  • Suggestion to 'link' working sets with a debug context. That way, when the debug context changes, the expressions view would automatically change the active working set to match that debug context. This would allow the expressions view to automatically display the expressions that can be evaluated for the debug context.
  • Suggestion to use GDB's ability to evaluate an expression to decided if that expression should be displayed or not. So, when a debug context is selected, all active expressions are sent to GDB; all expressions that return an error are deactivated for that debug context. This is kind of building working sets automatically based on the validity of an expression.
  • Abeer will push current solution to Gerrit to allow people to try it

Enhanced Expressions view

  • Enhancement to allow to filter registers (see bug 381754).
  • Marc has finished coding the feature. The code is entirely independent of the rest of the Expressions service code, so it should be easy to maintain. Marc will commit to master and see how things go.
  • How to make the user aware of this feature? Of course through the New&Noteworthy, but is there a 'live' way to tell the user the Expressions view accepts these matching patterns?
  • Suggestion to have a context-menu entry to show that this feature is available.

Register-grouping for DSF-GDB

  • It would be nice to have in-view cell editing support like for the Expressions view. That would make creating groups easy, and we could use the same solution as what is being done for the 'Enhanced Expressions view'. The complexity of such a solution is unclear at this time.
  • An easier solution is to mimic the CDI register-grouping solution.
  • An enhancement to the CDI solution is to use in-view multi-selection to specify the content of a new register group.
  • Marc will work on this solution in the short-term (see bug 235747).

Memory problems

  • Memory views don't work with multi-process
  • Are memory spaces of DSF the solution to that?
  • Mikhail to create a bug for this problem

June 12th, 2012

Attendees

  1. Norman Yee (Analog Devices)
  2. Phil Mason (Broadcom)
  3. Mikhail Khodjaiants (Mentor)
  4. Abid Hafiz (Mentor)
  5. Mark Goodchild (Renesas Electronics)
  6. Abeer Bagul (Tensilica)
  7. Bill Swanson (Tilera)
  8. Marc Khouzam (Ericsson)

Minutes

General

  • Juno is a good release for Debug. Most new features for CDT.

Testing for Juno

  • Manual Linux testing was done
  • We need someone that will take care of Windows testing. Mikhail did try a small session on Windows and it was ok.
  • JUnit test for Debug soon to be running on Hudson at Eclipse.org. Starting with GDB 7.4 only.

Enhanced Expressions view

Breakpoint improvements

  • Breakpoints are the weakest part of CDT
  • Improving the situation is of interest to Ericsson, Mentor, Tensilica, Renesas.
  • Need context-sensitive breakpoints. Mikhail had started this in bug 360735
  • Suggestion to have an editable hover in the editor to select which threads/cores a breakpoint applies to
  • Suggestion in having breakpoint view show an entry for each target a breakpoint can be applied to
  • We could add bp hit count to the bp view if we have a per-target breakpoint entry
  • Complexity arises when looking at surrounding scenarios: before launching, multiple debug sessions, etc. We should determine what the user-experience should be during a debugging session, and then somehow deal with all the surrounding scenarios.
  • Would be nice to get people to focus on this effort and get some improvements done, as there is a lot of interest

Visualizer

  • What should be the next steps for the Visualizer/Multicore Visualizer?
  • What to choose for generic Visualizer and what for Multicore Visualizer
    • Should try to make things generic when possible, without spending too much extra time on it
  • Showing extra hardware. What kind of hardware should we support? Need concrete examples

OS Awareness

  • OS Awareness bug 360314
  • GDB support available in HEAD, with one more tweak expected.
  • Review comments posted on Gerrit. Vladimir updating contribution to match comments.
  • Updated contribution is expected to make use of DSF services instead of sending commands from the view code to GDB

May 8th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Mikhail Khodjaiants (Mentor)
  3. Jason Litton (Sage)
  4. Bill Swanson (Tilera)
  5. Marc Khouzam (Ericsson)

Minutes

General

  • Feature freeze has come and gone.
  • Deadline for bug fixes for Juno is June 15th.
  • We have a good list of new features that apply to multicore in Juno:
    • Multicore Visualizer View
    • Edit Breakpoint on Create
    • Timeout support for GDB commands
    • Multi-select Resume/Suspend operations
    • Show only suspended threads in Debug view
  • Work continues for Kepler

Testing for Juno

  • It would be good for people to tests Juno. Focus from this group would be the new Debug features added to Juno
  • Bill will look at testing the Multicore Visualizer by end of May
  • Sage uses CDT on Windows. Jason will run some tests for the Juno release on Windows.
  • Jason will try to to get the Debug JUnit tests to work on Windows again.
  • Mikhail has access to a Windows machine but needs to get it properly setup.
  • Marc will do testing on Linux and will focus on the new features of Debug

Proposed features

  • Marc posted a list of ideas for multicore-debugging on the wiki here
  • Mentor discussing making improvement to breakpoints, which could be in-line with proposal above

OS Awareness

  • New patch posted by Vladimir. Too late for Juno but Marc will try to get it in early for Kepler. Still dependent on GDB functionality that is not in open-source yet, so we'll need that resolved.
  • OS Awareness bug 360314


April 10th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Mikhail Khodjaiants (Mentor)
  3. Jason Litton (Sage)
  4. Bill Swanson (Tilera)
  5. Marc Khouzam (Ericsson)

Minutes

Things for Juno

  • Marc was planning on working on Multiple selection https://bugs.eclipse.org/bugs/show_bug.cgi?id=330974
    • Mikhail mentioned that the Selection policy may be a problem
    • Platform may require changes for selection policy
    • Already some selection policy problems are being seen
    • A good selection policy is important for usability, so it is important for the multi-selection feature
  • Debug testing for 4.2 ongoing.
    • Things look good for Tracepoints and Pin&Clon (which were broken with earlier builds of 4.2)
    • Reverse debugging buttons don't work properly with 4.2. Marc will report problems
  • Jason will not be able to work on multicore at this time because Sage needs all-stop for multicore debug, but CDT is more focused on non-stop.o
    • Trying to get all-stop to work nicely with multicore may be something Sage can look at

Things post-Juno (Kepler)

  • Marc's current plans is to focus on adding features to the multicore visualizer

Architecture-specific visualization

  • It was suggested that visualizations that are specific to different architectures (e.g., Tilera) could still be added to CDT.
    • We can imagine having visualizations for many different architectures (Tilera, TI, Intel, etc)
    • This would allow users that have multiple different architectures without need to change their tool for each one
    • Visualization is not the only factor however; connection with the backend (e.g., using GDB) may not be the same as what is in CDT.

March 13th, 2012

Attendees

  1. Norman Yee (Analog Devices)
  2. Phil Mason (Broadcom)
  3. Mikhail Khodjaiants (Mentor)
  4. Bill Swanson (Tilera)
  5. Marc Khouzam (Ericsson)

Minutes

Visualizer view

  • Visualizer examples plugin was added to CDT with two examples
    • Problems Visualizer
    • SourceGraph Visualizer
  • The examples show different ways on how to extend the Visualizer framework.

Enhanced breakpoints

  • We see that Pawel is making good progress

Expressions view additions

  • Pawel posted some comments/suggestions to the bug

Grouping

  • Interest from Mentor, but nothing planned for the moment

February 14th, 2012

Attendees

  1. Phil Mason (Broadcom)
  2. Eugene Ostroukhov (Nvidia)
  3. Bruce Griffith (Sage)
  4. Abeer Bagul (Tensilica)
  5. Bill Swanson (Tilera)
  6. Randy Rohrbach (Windriver)
  7. Marc Khouzam (Ericsson)

Minutes

General

  • Why not much focus on multi-vendor debug solution so that plugins from one vendor be used into another CDT installation?
    • Probably not an interesting business case for vendors
    • For others, they need to change the platform, so they can't work on someone else's IDE
  • Marc will make time to review some contributions that are pending. Anyone else?

Visualizer view progress

Enhanced breakpoints

  • Pawel and Randy are working on this. Progress going well both in Platform and CDT
  • Ability to create a breakpoint and specify its attributes at creation time
  • Allowing to add more complex preferences to breakpoints
  • Must verify how Tracepoints will be impacted

Expressions view additions

  • Contribution bug will be posted soon

Grouping

  • No update

January 17th, 2012

Attendees

  1. Norman Yee (Analog Devices)
  2. Phil Mason (Broadcom)
  3. Eugene Ostroukhov (Nvidia)
  4. Pete Macliesh (Tensilica)
  5. Abeer Bagul (Tensilica)
  6. Bill Swanson (Tilera)
  7. Doug Schaefer (Windriver)
  8. Marc Khouzam (Ericsson)

Minutes

Visualizer view progress

  • Bug 335027
  • More feature have been added: selection, synchronization with Debug View, toolbar, context menu
  • Marc finishing some proposed refactoring before contribution is started
  • CQ should be opened this week to contribute. Will go into master branch as an optional feature.
  • Demo was given. Very cool!
  • Wasted space in visualizer view. Can CPUs 'hug' Cores to avoid that waste? Cores should stay square.
  • Need multi-selection run-control for visualizer Bug 330974. Marc will contact Dobrin to see if any progress was made.
  • This could apply to target management to show what is running on the target. Would this be a second visualizer view for TM or a different visualizer in the same view? This brings up the nice applicability of Pin&Clone.
  • Pin and clone would apply well to visualizer
  • How do we show process info in visualizer?
    • Process on cores don't really matter, what matters is what threads belong to the same process
    • brightness can be used to show all threads in the same process as the one selected

Expressions view additions

  • Enhancement to allow the expressions view to use Working Sets. The idea is to use Pin&Clone and Working sets to show only the expressions for a specific core (i.e. context)
  • Demo
    • Nice demo showing how working groups and pin&clone can be used to show a subset of expressions and pin them to a core
    • Working groups have been added to DSF and allow to filter the expressions view
    • Wizard was also added to create working groups and to easily pin them.
  • Abeer will open a bugzilla to contribute this feature to CDT.

Back to the top