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.
CDT/StandaloneDebugger
< CDT
Revision as of 15:22, 29 October 2013 by Jjohnstn.redhat.com (Talk | contribs) (→How to try it out)
This page details the effort to create a stand-alone Debugger using Eclipse.
Contents
How to try it out
- Clone the CDT git repository
- Checkout the GDBStandalone branch
- cd org.eclipse.cdt; git checkout GDBStandalone
- Start up a Kepler 4.3 Eclipse
- Go to http://www.eclipse.org/downloads/index-developer.php
- Download and unpack the Eclipse standard package for your system
- run DIRECTORY_YOU_UNPACKED_TO/eclipse/eclipse -data ~/workspace-gdbstandalone
- this will start up Eclipse
- In Eclipse, import the CDT plug-ins
- Click from the top menu: File->Import
- Choose Git->Projects from Git
- Choose "local" repository and click Next
- Click the Add button if org.eclipse.cdt/.git isn't found in list
- Type in the location of the org.eclipse.cdt directory you cloned into
- Remember to specify org.eclipse.cdt as part of the location
- Hit Search button
- Make sure the directory with org.eclipse.cdt/.git is checked on
- Hit Finish
- Select the CDT repository (org.eclipse.cdt/.git) and hit Next
- Select to Import Existing Projects from the wizard if not already defaulted
- Click Next
- Select all projects, then deselect all projects that do not start with org.eclipse.cdt or GDBStandalone
- You can also deselect org.eclipse.cdt.p2 projects as well
- Hit Finish
- Now import the sample launch configuration
- File->Import...
- Choose Run/Debug->Launch configurations
- Point to your [CDT clone directory]/debug/GDBStandalone/GDBStandalone.application.launch
- Select the launch and hit Finish
- Edit the launch configuration
- Click on the top menu: Run
- Select Run Configurations...
- Open up the tree element Eclipse Applications
- Select GDBStandalone
- Select the Arguments tab
- Change the executable after -e to be the location of the executable you want to debug followed by arguments
- In the future a wrapper script will be provided so you can specify this from the command line
- If you have the build log for the executable, add -b [log file location]
- This will allow the indexer to have all the correct build flags and include paths to index with
- The debugger will be up and running
- Click on Help->Help Topics to find out how to use the C/C++ debugger
- When the executable is complete, you can relaunch
- Right-click on top line
- Choose
- If you want, create a new launch to run last executable
- Click on the top menu: Run->Run configurations...
- Open Eclipse Applications and right-click on the GDBStandlone launch you just added'
- Rename it if you want to
- Select Arguments tab
- Remove the -e arguments to end of line
- With no executable specified, the last launch is used, if one exists
- Using the last launch saves cleaning up of the executable and doesn't require importing again
Status
Sept 17, 2013
- first pass at standalone GDB debugger using CDT components
- using Eclipse application and restricting plug-ins used
- debugger is working but indexer is not being invoked
- header files not being recognized
Sept 23, 2013
- added default GCC spec file LanguageSettingsProvider
- this gets standard header files to open in Outline view
Sept 30, 2013
- added code to add all source files specified as Project resources
- this gets indexer to work and adds non-C-standard header file support
Oct 07, 2013
- Removed Source and Refactoring menus using IActivity filters
Oct 14, 2013
- added support for reading .debug_macro section to find command-line flags
- currently not being picked up by indexer for header files
Oct 21, 2013
- added Dwarf4 support to CDT
- code submitted upstream for review
- solved issue with indexer using data discovered from .debug_macro
- command line macros now discovered from modules compiled with -g3
Oct 28, 2013
- changed code to clean-up if an executable is specified
- running again with no executable specified will use the last launch
- added support for specifying build console
- build console is parsed for flags and include path settings