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/summitfall2008/Debug Session"

m (CDI / DSF feature list)
 
Line 1: Line 1:
 +
 +
{{warning|Note: The contents of this page refer to a past CDT summit. For information on other and possible upcoming summits visit [[CDT/summits]]}}
 +
 +
[[Category:CDT:Summits]]
 +
 
== CDI / DSF feature list ==
 
== CDI / DSF feature list ==
  

Latest revision as of 16:12, 17 January 2020

Warning2.png
Note: The contents of this page refer to a past CDT summit. For information on other and possible upcoming summits visit CDT/summits

CDI / DSF feature list

  • Launching
      • CDI
        • Support for use-selectable MI protocol versions
        • Supports suspending on shared library events
          • In DSF, this feature should be supported using event breakpoints bug 248587.
      • DSF
        • Detects GDB version at launch time, but has support for only v6.6+
    • Local
      • CDI
        • Supports setting environment variables (DSF: bug 248591)
    • Attach
    • Remote
      • DSF
        • Has explicit launch configuration for remote launch, which is less confusing to users
    • JTAG
      • CDI
        • Custom UI for configuring gdbserver for JTAG debugging. (DSF bug 248593)
    • Post Mortem
      • CDI
        • Feature supported (DSF: bug 202346).
  • Breakpoints
      • CDI
        • Emulates pending breakpoints (loading breakpoints on shared library events). (DSF: bug 248595)
    • Breakpoint Actions
      • CDI
        • Has more actions which use CDI model objects.
      • DSF
        • Does support actions.
        • Remaining issues in bug 228703
    • Menu Actions
      • CDI
        • Toggle support in Variables views. (DSF: bug 248606)
    • Types
      • CDI
        • Event breakpoints are supported. (DSF: bug 248587)
  • Debug view
      • CDI
        • Show full path (for stack frame file names) (DSF: bug 248627)
      • DSF
        • Retrieving limited # of frames
    • Run control
      • CDI
        • Set PC to here (DSF: bug 249162).
        • Run to line (DSF: bug 233230)
        • Resume at line (DSF: bug 248165).
      • DSF
        • Stepping speed throttling
    • Non-stop Multi-threading
      • DSF
        • Supported with GDB 7+
    • Multi-process
      • DSF
        • Supported with GDB 7+
        • Attach to multiple processes after launch
  • All variables views
      • CDI
        • Cast to type. (DFE: bug 219203)
        • Display as array. (DFE: also bug 219203)
        • Show in memory. (DSF: bug 248610)
        • Number format for individual items. (DSF: bug 202556).
        • Detail pane uses a different expression evaluation. (DSF: bug 249169)
      • DSF
        • Set number format for the whole view.
        • Has a show all number formats detail pane.
  • Registers
    • Groups
      • CDI
        • User defined groups. (DFE: bug 235747)
  • Variables
      • CDI
        • Add selected global variables. (DFE: bug 219040)
  • Expressions
      • DSF
        • Same variable/register support as in their native views
          • inline editing
          • columns
          • etc.
        • Inline editing of expressions
  • Modules
      • CDI
        • Browsing symbols parsed by the IDE. (DFE: bug 159958)
  • Signals
      • CDI
        • Resume without signal (DFE: bug 249223)
        • Signal view (DFE: bug 249220)
  • Disassembly
      • DSF
        • Toni's disassembly view.
  • Console
      • CDI
        • Verbose mode to show all GDB protocol traffic. (DFE: bug 249227).
        • Save console content.
  • Source Lookup
      • CDI
        • Has enhanced source not found editor. (DFE: bug 159955).
  • View update modes
      • CDI
        • Allows disabling retrieving register or variable updates entirely at launch time
        • Allows user to enable/disable updates of individual registers/register groups/variables through a context menu item
      • DSF
        • User-selected update modes for individual views.
        • Manual refresh button.
        • Debug view: manual refresh mode for list of threads.
        • Force non-lazy mode updating.

CDI/DSF coexistence

  • Convert common actions to the command framework.
  • Have common commands, but use different handlers for the different models where appropriate.
  • Hide actions based on active debug context where appropriate.

Memory rendering

  • Ted will try to contribute the traditional rendering to platform.
    • There are possible issues with the rendering being extendible.
    • If the contribution is not acceptable for platform we can contribute it to CDT.

Breakpoint actions -> platform

  • Nokia to create a patch for platform
    • Need to fix minor known bugs
    • Need to evaluate API footprint, consider using command framework to avoid adding a new extension point for actions.
    • Need a reference implementation for JDT or PDA example
  • Pawel will review the contribution

Disassembly

  • If instruction stepping mode is on, disassembly should be shown by default.
  • If disassembly view is opened, instruction stepping mode should turn on by default.
  • If the disassembly is opened because file didn't have source for a function, when debugger steps out of that function the editor should be shown again.

TCF

  • Bring it in:
    • Need to investigate if there are any build issues?
    • Nokia and possibly Freescale would contribute development to it.
    • Wind River can support DSF-TCF development just like DSF-GDB.

Launch

  • Support multiple debugger types (DSF, CDI, TCF, etc) through different launch delegates registered for the same launch configuration type.
  • Three basic launch types:
    • New Process
    • Attach to Process
    • Post mortem
  • Rename "C/C++ Local Application" -> "C/C++ Application"
  • Launch Wizard

Reverse debugging

Tracepoints

Clean up CDI debugger types

Supported GDB versions

  • DSF
    • Supports v6.7+
    • Supports Linux and mingw
  • CDI
    • "works" with v5.2.1
    • QNX has the only active committer and will triage bugs
    • Mikhail will review bug fixes to help avoid breaking old versions

Bug triaging

Componentization

Variable view improvments (STL handling)

Multi context

Back to the top