TCF 1.5 New & Noteworthy
Besides improved platform coverage and robustness, the primary Themes of the 1.5 are the new WebSockets and Tunnelling support, ARM64 Debug Enhancements, and improved documentation.
TCF API and Protocol
All API Additions are marked with "@since 1.5" in the TCF Protocol Java Interfaces.
- Added Port Forwarding and Port Server services support in TCF Agent. Those services allow a TCF peer to gain access to a port on remote peer or expose a local port to remote peer. Essentially, support tunnelling any TCP/IP communication through a TCF Connection, including Web Sockets with the below addition to TCF Agent. See also the respective TCF Agent Commits.
- IBreakpoints Service: Capability CrossTrigger added with related properties for cross-triggering support (see bug 499059).
- IBreakpoints Service: New Property Service added to support automatic breakpoints like "run-to-line"
- New class to represent user defined peers: UserDefPeer
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
- Improved DWARF symbols search.
- Added Web Socket (WS) and Web Socket Secured (WSS) channel support. In support of this, CQ 11843 has been filed as a works-with dependency of the C Agent on libwebsockets-2.0.
- Added Solaris Support for the TCF Processes and SysMonitor Services. This allows using TCF-Agent for bootstrapping any kind of remote connections on Solaris 8 and later.
- API: A channel_extension() API is added to allow TCF services add their own channel-specific extensions (like for Web Sockets, for example).
- API: The MemoryMap Service API is extended to support OS Awareness
- Added a PRE_EXIT_HOOK in the Agent
- API: Added runctrl::wait_safe_events_done()
- API: Added runctrl::is_run_ctrl_idle()
- API: Added stacktrace::get_cached_frame_info() to avoid recursive calling of stack crawl functions
TCF C/C++ Debugger
- The Context Query is now visible in the Modules view.
- Improvements to Variable Evauations and the Expressions View, including:
TCF Python Binding
- A Python binding for the dprintf service was added. PEP8 compliance and docs were improved.
- See tests/ProcessStart.py for an example using Python
- Fixed broken references to icons no longer available with Eclipse 4.6 Neon and later (bug 497674).
- Fixed appearance of Target Explorer dialogs on GTK3 (Form backgroud, radio buttons).
- Improved Download progress and refresh from the Target Explorer (bug 507022, bug 515665).
Bug Fixes, Robustness and Statistics
list of bugs and enhancement requests implemented for the TCF 1.5 release.
The TCF project team would like to take this opportunity to thank our 17 contributors in the past 12 months .