Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

TCF/NewIn14

< TCF

TCF 1.4 New & Noteworthy

TCF 1.4 was released on 22-Jun-2016 with Eclipse Neon. See also the TCF/DraftPlan14.

TCF API and Protocol

All API Additions are marked with "@since 1.4" in the TCF Protocol Java Interfaces.

The TCF Services Docs have been updated in some cases, but not all; if in doubt, the Java interfaces linked from above should be consulted as the API references. Documentation Bugs have been opened to get the services docs back in sync. Community contributions would be appreciated on this documentation effort.

The TCF Python Binding is mostly on par with the Java binding and actively being tested, maintained and improved. If in doubt regarding protocol API, the Java interfaces as linked from above should be consulted.

TCF Agent and C Value-Add

  • Support for ARM Thumb and aarch64 has been strongly improved.
  • Support for Ada constructs has been strongly improved (primarily support for additional Dwarf tags)
  • More graceful handling of SIGINT and SIGTERM when debugging.
  • Dwarf reader test coverage was increased significantly.
  • Lots of bug fixes stability improvements, especially in expression evaluation, disassemblers and C++ support.

TCF C/C++ Debugger

Breakpoint Relocation Limit

  • A new Preference Option, Apply relocation limit to new line breakpoints has been added on the Preferences > Run/Debug > Breakpoints > page. This helps keeping control when breakpoints are moved or duplicated due to preprocessing, code changes after the breakpoint was defined, compiler optimizations and inlining.
    Relocated breakpoints are visualized by a ball (the original breakpoint) plus a separate checkmark on each planted location. Only the original breakpoint can be used for changing its properties; when hovering over a planted location, the name of the original breakpoint is shown.
    Bp relocation moved.png
    By default, there is no limit on breakpoint relocations. Restricing relocations allows to maintain more control over what the debugger can do to a breakpoint, thus avoiding user's surprise due to execution halted at unexpected locations. The debugger will visualize breakpoints with an error decorator when it can not be planted due to restricted relocation:
    Bp relocation error.png
    Restricting relocations makes sense when breakpoints get duplicated due to compiler optimizations, and when stopping the program at unintended locations would cause problems. See Bug 469842 for more details.

Disabling the Variable Hover

A new Preference Option, Allow inspection of a variable by hovering over it even when application is running, has been added on the Preferences > Run/Debug > Target Communication page.

  • Variable hovers are convenient to inspect static variables even while an application is running; but doing so may also temporarily stop the application under test as a side-effect and may thus lead to unexpected behavior. Turning off hovers makes application run-time behavior more deterministic. See also the respective discussion on the tcf-dev mailing list.

Build Project Only on Launch

  • The TCF Launch Configuration now supports building only specific projects/configurations on Launch. New API ITCFLaunchProjectBuilder and ITCFLaunchContext#getBuildConfigIDs() was added to support that. See bug 485132 for details.

Improved Memory View

  • Improved Memory View: memory monitor base address can be dynamic expression, for example, a local variable name. The debugger re-computes the address when necessary, so memory monitor tracks location of the variable as it changes during application execution or across re-launch of the debug session.

Target Explorer

  • Updated to support CDT 9.0 -- TCF 1.4 test automation actively validates against Eclipse 3.8.1 up to 4.6 (and related CDT).
  • The File System browser can now better deal with special characters in file and directory names, and its performance has been strongly improved.
  • The C/C++ GDB (via TCF/TE) Remote Launcher now supports changing the remote user ID, and reliably running a script before execution.

Bug Fixes, Robustness and Statistics

62 bugs and enhancement requests have been implemented for the TCF 1.4 release.

See also TCF on OpenHUB and the TCF Project Page for statistics.

The TCF project team would like to take this opportunity to thank our 17 contributors in the past 12 months as per the approved IP Log for TCF 1.4 !

The searchable git logs for the agent and the TCF main repository provide more insight into all changes made for TCF 1.4.

Back to the top