[FDS-113] FusionDebug 3.0.0 Release Notes

Description

FusionDebug Rev. 3.0

FDNG-EDTRUNK.161.14367

RELEASE NOTES – KNOWN ISSUES – ADDITIONAL LICENSE AGREEMENTS

INTERGRAL INFORMATION SOLUTIONS GMBH
Schickardstr 32 – D-71034 Boeblingen – Germany

The FusionDebug software is Copyright (C) 2006-2009 Intergral Information Solutions GmbH.
All rights reserved. The FusionDebug software product is commercial software and may not be
redistributed except with the express written agreement of Intergral Information Solutions GmbH.
The software may only be used in accordance with the appropriate FusionDebug license agreement.

Status: Mon, 03 Aug 2009

RELEASE NOTES

  • FusionDebug Rev. 3.0.0
  • FusionDebug Rev. 3.0.0 introduces a modular interface structure allowing different debug engines
    to be used as debug targets. This has been built with support for Railo 3.2 and CF 6.1, 7, 8 when run in
    debug mode (see guides for instructions on starting Railo/CF in debug mode). Support for
    debugging other languages may be added by releasing FD debug connector modules.
  • No license is required during 20 day trial. After the period expires, you will be unable to launch any
    debug sessions until a valid license is installed, or a licensed server is connected too.
  • New server license. Railo Enterprise edition users will be able to debug without a client license.
  • Eclipse 3.4 (Ganymede) and 3.5 (Galileo) now supported.
  • Conditions can be added to breakpoint properties, in the form of CFML expressions.
    This gives you more control over when your breakpoints fire, letting only valid conditions evaluating to TRUE to hit.
  • Break on runtime exceptions, Railo and CF connectors are able to stop on different exception types.
    Railo connector currentlyy supports; application, expression, database, custom_type, lock,
    missinginclude, native, security and template exceptions.
    CF connector currently supports: custom exceptions.
    See user guide for more information on exception breakpoints.
  • Run to line function added. Perform a run to line operation using the context menu in an editor
    or the shortcut CTRL+R on your currently selected line.
    The Eclipse Run/Debug setting to skip breakpoints during a run to line operation is honored.
  • Set Variable dialog now gives you more control and freedom allowing modification of the variable and it’s value.
    The highlighted variable can be blank for complete user input.
  • Custom file extension support added. Run and debug custom file extension CFML files.
    For more information on configuring servers for this see the user guide.
  • FusionDebug Rev. 3.0 has been tested using Eclipse Platform 3.2 to 3.5 (Galileo) on
    Microsoft Windows XP SP2, Microsoft Windows Vista SP 1. FusionDebug is a pure Java
    application with no native dependencies, and so should run on all OS platforms for which Eclipse is
    available.
  • We recommend also installing the CFEclipse package, which provides a capable environment for
    working with CF scripts within Eclipse. This can be obtained from: http://www.cfeclipse.org/
  • Please consult the relevant Guides for quick-start instructions on getting acquainted with FusionDebug. There is
    an updated User Manual for 3.0.

KNOWN ISSUES

FusionDebug Rev. 3.0

The following issues are known at the time of publication.

General

  • ‘Run To Line’ Causes Skip On Following CFML Code/Breakpoints With Resume/Steps

As Run To Line targets are set anywhere on a CFML page, and we expect the execution to halt at this point, the engine must be allowed to continue to the ‘next nearest’ valid CFML, and halt there. This can therefore be on another Breakpoint, causing it to seem (upon step/resume) to be skipped, where as it has simply already been hit.

  • Custom Extensions Not Recognized By CFML Server

For your Custom Extensions to function you must add them to your CFML Servers known extensions. For advice on how to do this please see our user manual or web page. These contain useful links and setup instructions, as well as guides on setting your default editors. You will need to set your IDE to use editors that allow debugging on your new extensions (including the default .htm .html).

For information and instructions on use please see:
http://www.fusion-reactor.com/fd/support.cfm

CF Specific

  • Custom Exceptions Fire In CF Admin/Other CF Web Applications Pages When FusionDebug Connected

This is a side effect of breaking on Exceptions, any CFML Live code running on the attached server can fire off Custom Exceptions, which FusionDebug will detect (when option selected). To use these applications during a debug session simply uncheck the option to ‘Catch Un/Caught Custom CFML Exceptions’ in the FusionDebug ‘Configuration’ Page in ‘Preferences’, from the ‘Window’ menu option. You can then re-enable the setting once you have finished using the desired page and continue debugging.

  • Custom Exceptions Within CFTRY Recognized As Caught When NOT Handled In CFCATCH

When placed within a cftry/cfcatch block thrown Custom Exceptions are dealt with as Caught by CFML. Therefore even though this is Uncaught by rights, it will only be detected as caught (with this option). When this occurs the catch block will be highlighted also – due to the match not being correct. The distinction between whether ‘this’ Custom Exception, is Caught based upon the catch type is something we are working on and plan to have resolved for next Beta/Release.

Railo Specific

  • FD-493/RAILO-195 Stepping is innacurate within very long pages. You may find the line cursor skips to an incorrect line, or skips back and forth, when debugging very large CFC or CFM pages.

GENERAL ISSUES

Some Numerical / Complex CF Types Decode to Java Types, Not CF Types

We’re working hard on being able to decode all CFML complex types. Most types are already
implemented – structs, arrays, XML objects, CFCs, Functions etc. In some cases, you might see
an undecoded type in the Variables and Expressions view (“… instance of …”) or a plain
string representation of the object.

Step Over sometimes requires > 1 keypress to advance the cursor.

This is because some lines of CF code perform multiple actions and require you to press
step for each action that they perform.

Step Into CFC’s is sometimes requires > 1 keypress to step into the CFC.

With the current instruction pointer located on the CFINVOKE tag, keep clicking Step Into until
the CFC is loaded. The parameters and other initialization actions are performed before the CFC
is called. You may have to push step into until this initialization is complete.

Step Requests sometimes jump around to lines of code that are not sensible.

This is a limitation of how Railo processes and optimizes pages at compile time.

Calling CFML functions which are reentrant to the currently halted thread may cause the VM to hang

You cannot set/clear breakpoints with CTRL-SHIFT-B when in the CFEclipse perspective

CFEclipse does not support the CTRL-SHIFT-B keystroke when in the CFEclipse perspective. You
can toggle the breakpoint by right mouse clicking on the line you wish to set the breakpoint
on and using the Toggle Line Breakpoint menu item.

Sometimes breakpoints don’t fire.

In the Debug configuration, make sure the Target System Type is set correctly: checked for
Windows, unchecked for Unix. And the correct connector is being used for the engine type desired.

Breakpoints set on blank lines may not always fire.

Since FD 2.0.1 breakpoints can be set on blank lines. FD cannot always get breakpoints to
fire on blank lines because they are sometimes optimized away by the CF compiler.

Wrong File Selected

When a breakpoint or step event fires, FusionDebug does its best to find the source file. If the
same file exists multiple times in different projects, the wrong one may be selected
Use the source code lookup tab on the Launch Control to correct the source code lookups.

If your system is monitored by FusionReactor with crash protection activated, FusionReactor may

terminate the page if it exceeds the Request Timeout limit that has been configured. Please
deactivate crash protection in FusionReactor.

RESOLVED ISSUES

Key Issue Type Component/s Summary
FD447 New Feature Integration – Railo FusionDebug on Railo (FusionDebug API)
FD488 New Feature Breakpoints Exception Breakpoint Support; in Railo
FD168 New Feature Breakpoints Breakpoint on Exceptions; CF
FD109 New Feature Breakpoints Conditional Breakpoint Support
FD25 New Feature Breakpoints, Editor, Eclipse Feature: Run To Line
FD480 New Feature Integration – Railo, Integration – ColdFusion FD 3.0 model; connectors for each supported server.
FD112 New Feature Eclipse Allow the set variable dialog to change the expression as well as the value
FD440 Improvement Eclipse, CF Abstraction Support for cfm files with non-standard extensions
FD448 Bug Eclipse Eclipse Bug [238878] Error when using WatchExpression in plugin: 3.4 now supported
FD85 Bug Eclipse When stepping CIP sometimes leaves a faint line highlight on previous line
FD449 Bug Breakpoints, Stack Frames, Debug View, Stepping Stack not rendering in Debug View
FD497 Bug Stack Frames, Debug View, Eclipse, Src Code Lookup, Integration – Railo, Integration – ColdFusion Eclipse 3.2.2 – No Editor re-focus at Step Into/Out, when Frame changes.
FD500 Bug Variables, Integration – Railo, Integration – ColdFusion Set Variable – Variables view does not update at Variable set.
FD510 Bug Inspect Inspect Variables dialog is clipped; This in a Mac SWT error
FD545 Bug Build/Deploy Buid: Lib folder contains too many tools.jar files

ADDITIONAL LICENSE AGREEMENTS

This Software contains code derived from the Eclipse Foundation (“Eclipse Code”).
Such Eclipse Source Code is made available under the terms of the Eclipse Public License v1.0 which
accompanies such code, and is also available at http://www.eclipse.org/legal/epl-v10.html

Eclipse Code. On behalf of Contributors to such Eclipse Code, Intergral hereby: (1) disclaims any and all
warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability
and fitness for a particular purpose with respect to such Eclipse Code and any and all derivative works thereof,
(2) disclaims any liability for damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits, and (3) represents that any provisions in this License Agreement that differ
from the Eclipse Public License under which Intergral licensed the Eclipse Code, are offered by Intergral
alone and not by any other party. The source code for the Eclipse Code as contained in this Software may be
obtained by the Licensee as described in in this Readme to the Software. Intergral provides the Eclipse Code as
is, without warranty or support from Intergral.

By installing this product, in addition to the Intergral license terms, you also agree to be bound by the
third-party terms provided to you with the Intergral product documentation. Intergral recommends that you review
these third-party terms.

Issue Details

Type: Technote
Issue Number: FDS-113
Components: API
Environment:
Resolution: Fixed
Added: 03/08/2009 14:28:50
Affects Version: 3.0
Fixed Version: 3.0
Server: Resin, ColdFusion 8, Railo, ColdFusion 6, Jetty, ColdFusion 7
Platform:
Related Issues:
  • FDS-119 – FusionDebug 3.0.1 Release Notes
  • FDS-96 – FusionDebug 2.0.1 Release Notes and Resolved Issues