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

Difference between revisions of "TCF/NewIn14"

< TCF
Line 5: Line 5:
 
==TCF API and Protocol==
 
==TCF API and Protocol==
  
API Tooling Tags (mostly @noimplement) have been added to the [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/log/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services TCF Protocol Java Interfaces]. All API Additions are marked with "@since 1.4" in the Java Interfaces.
+
All API Additions are marked with "@since 1.4" in the [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/log/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services TCF Protocol Java Interfaces].
  
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=be223e40664c941dc7287695dcc03383dcedbb06 ISysMonitor Service]: Properties Exe and Exetype added (See {{bug|470179}})
+
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/diff/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IBreakpoints.java?id=f0b6acd79de62721ff71e1062e720c6c8a41cec1 IBreakpoints Service]: PROP_LINE_OFFSET added for more control over breakpoint relocation (see below, and {{bug|469842}}).
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=3e0c2ee8c2d95f3dacd609711761abfe3f40fb3e IMemoryMap Service]: PROP_KERNEL_MODULE property added
+
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=82e5a0e04629bb413608ef6757b53b94f3cb2bbf IDiagnostics Service]: echoINT() and DoneEchoINT() added for improved test coverage.
 +
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/diff/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java?id=b9a8fda0453233f65491ac15013c48a46bc20eb0 IExpressions Service]: VAL_BIT_STRIDE added for improved Ada debugging (see {{bug|492193}}).
 +
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=3b2aca8bd0940fd668ffe6a83d8fd1eb2334169f IMemoryMap Service]: PROP_KERNEL_MODULE added to support Kernel module debugging.
 +
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=3d77e375e2cb90e661e58273dbff16f1591d2dcd IProcesses Service]: getSignalMask(), DoneGetSignalMask and setSignalMask() added, to support handling signals &gt; 31 in the debugger (see {{bug|490874}}).
 
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=b0013659c3e62fcabcc7e2cb196466810ebc76bc IRunControl Service]: RegAccessTypes flags "rd-stop" and "wr-stop" added
 
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=b0013659c3e62fcabcc7e2cb196466810ebc76bc IRunControl Service]: RegAccessTypes flags "rd-stop" and "wr-stop" added
 +
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=9e8e8ee4d8707b7731c434b0ec0de4f4d7295f65 IRunControl Service]: StepIntoHidden command parameter for "resume" added.
 +
* [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=be223e40664c941dc7287695dcc03383dcedbb06 ISysMonitor Service]: Properties Exe and Exetype added (see {{bug|470179}})
  
 
In few cases, the [http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/plain/docs/TCF%20Services.html TCF Services Docs] were slightly updated to clarify ambiguities; for example the [http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=b65b8b2a272071c010b5ce14d228422bced49de7 Streams Service Specs] and [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=9e8e8ee4d8707b7731c434b0ec0de4f4d7295f65 RunControl Service Specs]. This does not constitute API change or additions.
 
In few cases, the [http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/plain/docs/TCF%20Services.html TCF Services Docs] were slightly updated to clarify ambiguities; for example the [http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/?id=b65b8b2a272071c010b5ce14d228422bced49de7 Streams Service Specs] and [https://git.eclipse.org/c/tcf/org.eclipse.tcf.git/commit/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services?id=9e8e8ee4d8707b7731c434b0ec0de4f4d7295f65 RunControl Service Specs]. This does not constitute API change or additions.
Line 23: Line 28:
  
 
==TCF C/C++ Debugger==
 
==TCF C/C++ Debugger==
* A new Preference Option, "Allow inspection of a variable by hovering over it even when application is running", has been added on the Preferences &gt; Run/Debug &gt; Target Communication page.
+
* A new Preference Option, '''Apply relocation limit to new line breakpoints''' has been added on the ''Preferences &gt; Run/Debug &gt; Breakpoints &gt;'' page. This helps keeping control when breakpoints are moved or duplicated due to preprocessing, compiler optimizations and inlining. See [http://eclip.se/469842#c2 Bug 469842] for more details.
 +
* A new Preference Option, '''Allow inspection of a variable by hovering over it even when application is running''', has been added on the ''Preferences &gt; Run/Debug &gt; 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 [https://dev.eclipse.org/mhonarc/lists/tcf-dev/msg01024.html discussion on the tcf-dev mailing list].
 
** 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 [https://dev.eclipse.org/mhonarc/lists/tcf-dev/msg01024.html discussion on the tcf-dev mailing list].
 +
* 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 [https://bugs.eclipse.org/bugs/show_bug.cgi?id=485132 Bug 485132] for details.
 
* 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.
 
* 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==
 
==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).
 
* 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.
+
* 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.
 
* The C/C++ GDB (via TCF/TE) Remote Launcher now supports changing the remote user ID, and reliably running a script before execution.
  

Revision as of 09:57, 5 June 2016

TCF 1.4 New & Noteworthy

TCF 1.4 is planned to release in June 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.

In few cases, the TCF Services Docs were slightly updated to clarify ambiguities; for example the Streams Service Specs and RunControl Service Specs. This does not constitute API change or additions.

The TCF Python Binding is fully on par with the Java binding and actively being tested, maintained and improved.

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

  • 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, compiler optimizations and inlining. See Bug 469842 for more details.
  • 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.
  • 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: 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 Ohloh! and the TCF Project Page for statistics.


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