cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

Dbx68Support

dbx debugger support in Netbeans 6.8

Team

Egor Ushakov, Vladimir Voskresensky, Ivan Soleimanipour

Charter

Allow users to debug binaries built with Sun Studio

Goals

  1. Defining: dbx can be used as debugger in toolchain
  2. Defining: supported features are on par with gdb-gui:
    1. debug managed and makefile based projects
    2. debugger actions (stop, pause, step over/into/out, run to cursor)
    3. 3 types of breakpoints (line, function, address) with conditions and hit count
    4. debugger views (Locals, Watches, Breakpoints, Stack)
    5. attach to process
    6. debug shared libs
    7. evaluate on mouse hover
  3. Defining: dbx-gui and gdb-gui should have the same user view (same buttons, windows, table layouts)
  4. Defining: remote debugging
  5. Target: advanced debugger views (Disassembly, Registers, Memory)
  6. Nice to have: fix and continue
  7. Nice to have: debug core files
  8. Nice to have: stop on signal

Main Plan

Goal Deliverable Status
1. change dbx-gui sources to fit in NB space (switch to NB project structure, ant build scripts etc.) dbx-gui can be developed and built as a NB project done
2. create the main mercurial repository for dbx-gui sources latest dbx-gui sources can be easily obtained and modified by any team member done, with the exception that we have 2 repos
3. (dependency) create common native debugger API list of APIs, SPIs, etc. in progress, breakpoints, autocompletion are there
4. modify gdb-gui and dbx-gui to use common native debugger API multiple breakpoints and other coexistence related issues are solved done, supports 3 common bpts types and gdb properties set
5. open source required parts of dbx-gui part of the gdb-gui sources goes to NB repository, the rest (if required) is distributed as a binary through the Update Center


Issues to solve

Issue Priority Status Risks
1. Run debugger (gdb or dbx) depending on toolchain High fixed
2. Switch to CND remote host management (ExecutionEnvironment) High done
3. Breakpoints collision (IZ 163627) High fixed
4. Debugger actions & breakpoints UI consistency High fixed
5. Windows & Mac support High fixed only remote on Windows and Mac
6. Create platform independent service based on libbase.so and tools_exec Medium fixed
7. Switch to CND execution Medium dbxgui uses some native features that we may not be able to implement in CND execution (e.g. pty)
8. Debugger properties (show only toolchain debugger) Medium fixed
9. Auto view Medium in progress, infrastructure is in place
10. Macro support Medium in progress, infrastructure is in place
11. Get dbx path from the toolchain Medium fixed
12. Support more breakpoint properties and breakpoint types? Medium
13. Dbx breakpoints persistence Medium
14. Views consistency (locals, watches, etc) Medium
15. Common external terminal infrastructure Medium
16. Unify attach Medium
17. Solve port forwarding issues Medium current implementation does not work with modern Solaris where port forwarding turned off by default
18. Dependency on SS 12u1 Low
19. Disassembler Low
20. Memory view Low
21. Unite debug core actions Low
22. Detect dbx in Sun Studio toolchain (IZ 159444) Low fixed
23. Detect dbx version correctly (IZ 159445) Low fixed
24. Make UI in netbeans style Low
25. Allow to use gdb in SS toolchain and vice versa Low
26. Create a prototype for binary installation from the Update Center Pending