Bug 521211 - Docker launch fails debugging some C/C++ programs

- using normal logging doesn't always work when debugging via gdbserver
  (e.g. a program that printfs without a newline and then uses
  an fflush of stdout)
- add a new DockerConsoleOutputStream class to core that will
  accept listeners that will be notified whenever writes are made
- change openTerminal method in DockerConnection to accept a
  DockerConsoleOutputStream as input parameter and to use this
  to echo stdout and stderr output of the terminal
- change RunConsole.attachTerminal method to accept a
  DockerConsoleOutputStream argument
- change ContainerLauncher launch method to determine when
  called to do a gdbserver launch from CDT (look at
  ContainerListener class name)
- when it is determined that we are doing a gdbserver launch,
  set the TTY option on and pass a DockerConsoleOutput stream
  to RunConsole.attachTerminal which will pass this on to
  openTerminal
- set up the DockerConsoleOutputStream to echo output to the
  normal RunConsole used for running and debugging
- when the session is complete, remove any Terminal that was
  created on behalf of the session
- change all callers of RunConsole.attachTerminal appropriately
  to pass null as last argument
- remove ConsoleOutputStream from docker ui
  
  
Change-Id: I17758f1ed9f0af6df754af88570cc4b7767c9638
Reviewed-on: https://git.eclipse.org/r/103419
Tested-by: Hudson CI
Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
8 files changed
tree: 5f56b37e099e952ce139f01b346a373dc9a32cb9
  1. changelog/
  2. containers/
  3. gcov/
  4. gprof/
  5. javadocs/
  6. libhover/
  7. lttng/
  8. man/
  9. oprofile/
  10. perf/
  11. profiling/
  12. releng/
  13. rpm/
  14. systemtap/
  15. vagrant/
  16. valgrind/
  17. .gitignore
  18. .project
  19. pom.xml
  20. README.md
README.md

Contributing to Linux Tools

Thanks for your interest in this project.

Project description:

The Linux Tools project aims to bring a full-featured C and C++ IDE to Linux developers. We build on the source editing and debugging features of the CDT and integrate popular native development tools such as the GNU Autotools, Valgrind, OProfile, RPM, SystemTap, GCov, GProf, LTTng, etc. Current projects include LTTng trace viewers and analyzers, an RPM .spec editor, Autotools build integration, a Valgrind heap usage analysis tool, and OProfile call profiling tools. The project also provides a place for Linux distributions to collaboratively overcome issues surrounding distribution packaging of Eclipse technology. The project produces both best practices and tools related to packaging. One of our features is a source archive of the Eclipse SDK that can be used by all Linux distributions building and distributing it.

Developer resources:

Information regarding source code management, builds, coding standards, and more.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Contact:

Contact the project developers via the project's “dev” list.

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!