Difference between revisions of "CDT/StandaloneDebugger"

From Eclipsepedia

< CDT
Jump to: navigation, search
(Nov 18, 2013)
(How to try it out)
Line 6: Line 6:
 
== How to try it out ==
 
== How to try it out ==
  
# Clone the CDT git repository
+
# Get the CPP EPP Luna M4 product
#* git clone git://git.eclipse.org/gitroot/cdt/org.eclipse.cdt.git
+
#* http://mirrors.xmission.com/eclipse/technology/epp/downloads/release/luna/M4/eclipse-cpp-luna-M4-linux-gtk-x86_64.tar.gz
# Checkout the GDBStandalone branch
+
# Untar the CPP EPP into $HOME/eclipse-cpp-luna-m4 or create a link with that name to where you place it
#* cd org.eclipse.cdt; git checkout GDBStandalone
+
# Get the GDBStandalone jar file
# Start up a Kepler 4.3 Eclipse
+
#* wget http://download.eclipse.org/linuxtools/gdbstandalone/GDBStandalone_1.0.0.201312161857.jar
#* Go to http://www.eclipse.org/downloads/index-developer.php
+
#* Place the GDBStandalone jar file into $HOME/eclipse-cpp-luna-m4/eclipse/downloads
#* Download and unpack the Eclipse standard package for your system
+
# Get the gdbstandalone command
#* run DIRECTORY_YOU_UNPACKED_TO/eclipse/eclipse -data ~/workspace-gdbstandalone
+
#* wget http://download.eclipse.org/linuxtools/gdbstandalone/gdbstandalone.zip
#* this will start up Eclipse
+
#* unzip gdbstandalone.zip into your $HOME directory
# In Eclipse, import the CDT plug-ins
+
# Run the command
#* Click from the top menu: File->Import
+
#* $HOME/run-gdbstandalone [-b build_log_location] -e executable_path [arg1 ... argn]
#* Choose Git->Projects from Git
+
#* this will default to workspace-gdbstandalone
#* Choose "local" repository and click Next
+
#* if you run with no arguments, it will debug the same executable you ran the last time
#* 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 Contents to find out how to use the C/C++ debugger
+
#* Open up C/C++ Development User Guide -> Tasks -> Running and debugging projects -> Debugging
+
#* Look at sections after starting executable which you have already done
+
# 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 ==
 
== Status ==

Revision as of 19:23, 20 December 2013

This page details the effort to create a stand-alone Debugger using Eclipse.

StandaloneDebuggerScreenshot.png


Contents

How to try it out

  1. Get the CPP EPP Luna M4 product
  2. Untar the CPP EPP into $HOME/eclipse-cpp-luna-m4 or create a link with that name to where you place it
  3. Get the GDBStandalone jar file
  4. Get the gdbstandalone command
  5. Run the command
    • $HOME/run-gdbstandalone [-b build_log_location] -e executable_path [arg1 ... argn]
    • this will default to workspace-gdbstandalone
    • if you run with no arguments, it will debug the same executable you ran the last time

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

Nov 18, 2013

  • added progress dialog
  • added support for running via command-line script
    • fixed program argument parsing
    • figured out what minimally is needed to reuse repository
  • fixed some warnings and errors

Dec 20, 2013

  • added gdbstandalone.zip to run from command line with Luna M4 CPP EPP
  • added default jar to use with Eclipse Luna M4 CPP EPP
  • completed GDBStandalone.product which contains icons
  • added check for invalid executable
    • special dialog brought up to fix executable location and enter arguments
  • fixed NPE issue when running debugger 2nd time on same workspace