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/Archive/FullGDBConsole"

< CDT‎ | Archive
(Things to work on)
(Things to work on)
Line 49: Line 49:
 
# Do we need any console buttons like the old console (e.g., save)
 
# Do we need any console buttons like the old console (e.g., save)
 
# Add button to preference to keep GDB alive in GDB console menu
 
# Add button to preference to keep GDB alive in GDB console menu
# Verify in GDBBackendCLIProcess and subclasses used to do something important since we don't use that class anymore
 
 
# Should killing the console view kill the sessions or keep them in the console manager?
 
# Should killing the console view kill the sessions or keep them in the console manager?
# Verify all class hierarchy behaviour for AbstractCLIProcess
 
 
# Make work on Windows
 
# Make work on Windows
# Option to simply start GDB with no FLS for user to use as a real GDB command-line but in Eclipse
+
# Try to make the prompt more visible after a breakpoint hit, or at least at the beginning of the session
 +
# Support typing 'run' in the console (started in https://git.eclipse.org/r/#/c/76462/)
 +
# Redirect to eclipse the output of a process added from the console (started in https://git.eclipse.org/r/#/c/76462/)
 +
# Synchronizing Debug view selection and GDB console (started in https://git.eclipse.org/r/#/c/77896/)

Revision as of 16:12, 8 August 2016

Full GDB Console

Controlling GDB through the command-line from within Eclipse has long been a very poor experience. With new support in GDB 7.12, it is now much easier for CDT to provide a full-featured GDB console. This feature is planned for CDT 9.2 for Linux hosts.

CDT GDBFullConsole.png

Features of full GDB console

The full GDB console provides the user with an identical GDB command-line experience as if GDB was started on a shell

  1. Command history
  2. Line editing
  3. Tab-completion
  4. Smart command repeating
  5. Full synchronization with the Eclipse GUI

Current status

Development is on-going. The following bugzilla entries and Gerrit reviews are part of this effort:

  1. Bug 303808 - Debug console lacks many important features Patch at https://git.eclipse.org/r/#/c/77986
  2. Bug 497166 - Support the user using the 'run' command in the gdb console Patch at https://git.eclipse.org/r/#/c/76462
  3. Bug 497167 - Direct IO to an eclipse console for a new process created directly from the gdb console Patch (same as above) at https://git.eclipse.org/r/#/c/76462

Trying it out

To try out this feature on Linux:

  1. Get setup for CDT development
  2. Checkout the latest patchset from https://git.eclipse.org/r/#/c/77986
  3. Build GDB from its git repo with the branch corresponding to the upcoming release
    1. git clone git://sourceware.org/git/binutils-gdb.git
    2. cd binutils-gdb
    3. git checkout gdb-7.12-branch
    4. mkdir build.console && cd build.console
    5. ../configure CFLAGS="-g3 -O0"
    6. make -j8
  4. Create a launch in Eclipse and point it to the gdb you built in binutils-gdb/build.console/gdb/gdb
  5. Launch as usual
  6. You should see the new "Debugger Console" view come up with the full GDB console

Things to work on

  1. We sometime hit a deadlock when closing the "Debugger console" view and then launching a process using the full console
  2. Copy/paste from console
  3. Is there a console text limit?
  4. Should have a search function in console
  5. Verify use of fProcess in GDBBackend
  6. Do we need any console buttons like the old console (e.g., save)
  7. Add button to preference to keep GDB alive in GDB console menu
  8. Should killing the console view kill the sessions or keep them in the console manager?
  9. Make work on Windows
  10. Try to make the prompt more visible after a breakpoint hit, or at least at the beginning of the session
  11. Support typing 'run' in the console (started in https://git.eclipse.org/r/#/c/76462/)
  12. Redirect to eclipse the output of a process added from the console (started in https://git.eclipse.org/r/#/c/76462/)
  13. Synchronizing Debug view selection and GDB console (started in https://git.eclipse.org/r/#/c/77896/)

Back to the top