[FDS-135] FusionDebug 5.0.x Release Notes

FusionDebug Rev 5.0.x

RELEASE NOTES – KNOWN ISSUES – ADDITIONAL LICENSE AGREEMENTS

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

The FusionDebug software is Copyright (C) 2006-2016 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: 10-JAN-2017

RELEASE NOTES

FusionDebug Rev 5.0.1

  • New Feature: Support for Eclipse Neon (4.2.6).
  • New Feature: Ability to see SQL data from queries.
  • New Feature: Support for Lucee 4.5.2 and Lucee 4.5.3.
  • An issue which would cause FusionDebug to keep remaining days of a license after uninstallation of a license

FusionDebug Rev 4.0.0

  • New Feature: Support for ColdFusion 2016
  • New Feature: Support for ColdFusion Builder 2016
  • New Feature: Support for Lucee 4.5 and Railo 4.2
  • New Feature: Support for Eclipse 4.4 ( Luna ) and 4.5 ( Mars )
  • New Feature: Support for Java 1.8

FusionDebug Rev 3.7.1

  • An issue which would cause FusionDebug to claim other Debuggers’ (notably FlexBuilder) breakpoints has been fixed.
  • An issue which could cause Eclipse and Eclipse-based IDEs running on JDK 1.6 to fail to connect to any debug target (often causing a NullPointerException), or being able to display the Debug Launch Configuration page for FusionDebug launches, has been fixed.

FusionDebug Rev 3.7.0

  • New Feature: Support for ColdFusion Builder 3
  • New Feature: Support for ColdFusion 11

FusionDebug Rev. 3.6.1

  • An issue whereby the Source Code Lookup tab’s dropdown list could not be changed has been fixed.

FusionDebug Rev. 3.6.0

  • Support for Windows 8
  • New Feature: Support for ColdFusion 10 and Railo 4
  • New Feature: Support for Eclipse 4.3 (Kepler) and 4.2 (Juno)
  • New Feature: Browse button on “Source Code Lookup” tab
  • FusionDebug Rev. 3.6.0 has been tested using Eclipse Platform 4.1 to 4.3. 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.6.0.

KNOWN ISSUES

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-debug.com/support/

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.

Lucee 4.5.4 and Lucee 5.x Specific
The latest version of FusionDebug is not working as expected with the latest Lucee releases and to be more precise, the breakpoints do not fire. After further investigation, in Lucee 4.5.4 / Lucee 5.x, not fully qualified file paths are generated in the .class files. The problem we encounter is that the mappings in the FusionDebug Source Lookup do not map to the correct file names on the server and as a result no breakpoints can fire. The engineering team is currently working with the Lucee developers and soon enough we will have a fix for that issue.

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

FusionDebug 5.0.1

Key Issue Type Component/s Summary
FD643 Bug Licensing An issue in which the number of days remaining on a license would not reset
FD645 Bug Support Fusion Debug failed to install and had erratic behaviour on Eclipse Neon
FD648 Improvement Expression Evaluation Get more data from evaluated SQL queries

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.

[FDS-134] FusionDebug 4.0.x Release Notes

Description

FusionDebug Rev 4.0.x

RELEASE NOTES – KNOWN ISSUES – ADDITIONAL LICENSE AGREEMENTS

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

The FusionDebug software is Copyright (C) 2006-2016 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: 3-MAR-2016

RELEASE NOTES

FusionDebug Rev 4.0.0

  • New Feature: Support for ColdFusion 2016
  • New Feature: Support for ColdFusion Builder 2016
  • New Feature: Support for Lucee 4.5 and Railo 4.2
  • New Feature: Support for Eclipse 4.4 ( Luna ) and 4.5 ( Mars )
  • New Feature: Support for Java 1.8

FusionDebug Rev 3.7.1

  • An issue which would cause FusionDebug to claim other Debuggers’ (notably FlexBuilder) breakpoints has been fixed.
  • An issue which could cause Eclipse and Eclipse-based IDEs running on JDK 1.6 to fail to connect to any debug target (often causing a NullPointerException), or being able to display the Debug Launch Configuration page for FusionDebug launches, has been fixed.

FusionDebug Rev 3.7.0

  • New Feature: Support for ColdFusion Builder 3
  • New Feature: Support for ColdFusion 11

FusionDebug Rev. 3.6.1

  • An issue whereby the Source Code Lookup tab’s dropdown list could not be changed has been fixed.

FusionDebug Rev. 3.6.0

  • Support for Windows 8
  • New Feature: Support for ColdFusion 10 and Railo 4
  • New Feature: Support for Eclipse 4.3 (Kepler) and 4.2 (Juno)
  • New Feature: Browse button on “Source Code Lookup” tab
  • FusionDebug Rev. 3.6.0 has been tested using Eclipse Platform 4.1 to 4.3. 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.6.0.

KNOWN ISSUES

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-debug.com/support/

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.

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

FusionDebug 3.6.1

Key Issue Type Component/s Summary
FD628 Bug Src Code Lookup Drop-down list is not enabled in source code lookup tab

FusionDebug 3.6.0

Key Issue Type Component/s Summary
FD262 New Feature Config Tool Write a Java page that scans the cfclasses and outputs the Folder locations of the files
FD617 Improvement Integration with ColdFusion Support for CF10
FD618 Improvement Integration with Railo Support for Railo 4
FD619 Improvement Eclipse Support for Kepler
FD227 Improvement Eclipse FusionDebug doesn’t use the Eclipse help mechanism.
FD597 Bug AutoStep AutoStep when switch threads stay on. Auto step state should be “per” thread.
FD616 Bug VM Interface Debugger failed to attach: recv failed during handshake: Resource temporarily unavailable
FD621 Bug Breakpoints Exceeded-time limit error occurs when debugging long CF pages

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-134
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 03/03/2016 13:48:31
Affects Version: 3.7.1
Fixed Version: 4.0.0
Server:
Platform:
Related Issues:
  • FDS-132 – FusionDebug 3.7.x Release Notes
  • FDS-132 – FusionDebug 3.7.x Release Notes

[FDS-132] FusionDebug 3.7.x Release Notes

Description

FusionDebug Rev. 3.7.x

RELEASE NOTES – KNOWN ISSUES – ADDITIONAL LICENSE AGREEMENTS

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

The FusionDebug software is Copyright (C) 2006-2015 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: 25-MAR-2015

RELEASE NOTES

FusionDebug Rev 3.7.1

  • An issue which would cause FusionDebug to claim other Debuggers’ (notably FlexBuilder) breakpoints has been fixed.
  • An issue which could cause Eclipse and Eclipse-based IDEs running on JDK 1.6 to fail to connect to any debug target (often causing a NullPointerException), or being able to display the Debug Launch Configuration page for FusionDebug launches, has been fixed.

FusionDebug Rev 3.7.0

  • New Feature: Support for ColdFusion Builder 3
  • New Feature: Support for ColdFusion 11

FusionDebug Rev. 3.6.1

  • An issue whereby the Source Code Lookup tab’s dropdown list could not be changed has been fixed.

FusionDebug Rev. 3.6.0

  • Support for Windows 8
  • New Feature: Support for ColdFusion 10 and Railo 4
  • New Feature: Support for Eclipse 4.3 (Kepler) and 4.2 (Juno)
  • New Feature: Browse button on “Source Code Lookup” tab
  • FusionDebug Rev. 3.6.0 has been tested using Eclipse Platform 4.1 to 4.3. 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.6.0.

KNOWN ISSUES

FusionDebug Rev. 3.6.x

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-debug.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.

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

FusionDebug 3.6.1

Key Issue Type Component/s Summary
FD628 Bug Src Code Lookup Drop-down list is not enabled in source code lookup tab

FusionDebug 3.6.0

Key Issue Type Component/s Summary
FD262 New Feature Config Tool Write a Java page that scans the cfclasses and outputs the Folder locations of the files
FD617 Improvement Integration with ColdFusion Support for CF10
FD618 Improvement Integration with Railo Support for Railo 4
FD619 Improvement Eclipse Support for Kepler
FD227 Improvement Eclipse FusionDebug doesn’t use the Eclipse help mechanism.
FD597 Bug AutoStep AutoStep when switch threads stay on. Auto step state should be “per” thread.
FD616 Bug VM Interface Debugger failed to attach: recv failed during handshake: Resource temporarily unavailable
FD621 Bug Breakpoints Exceeded-time limit error occurs when debugging long CF pages

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-132
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 19/09/2013 14:43:41
Affects Version: 3.6.0
Fixed Version: 3.7.1
Server:
Platform:
Related Issues:
  • FDS-127 – FusionDebug 3.5.0 Release Notes

[FDS-20] How do I modify my jvm.config file for debugging?

Description

In order for FusionDebug to be able to read what line of code it is currently looking, the JVM needs to be put into debug mode. This procedure adds the required debugging parameters to a standard ColdFusion (JRun) installation.

  1. Stop all running ColdFusion services.
  2. Locate the Java configuration file jvm.config. This can be found in the following location:


    Windows:  C:\coldfusion11\cfusion\bin
    Unix:  /opt/coldfusion11/cfusion/bin/
  3. Make a copy of this file, and store the copy somewhere on your disk. In case of problems, you can restore the copy to this location.
  4. Open this file in a text editor (e.g. Notepad).
  5. Locate the line java.args. These are the settings used to start the Java Virtual Machine, in which ColdFusion runs.
  6. Find this option:



    -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005


  7. if it exists it should be change to match the following or if it does not then you need to insert the following after the java.args=. All options must be on the same line. Be careful not to introduce any line breaks:



    -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000


  8. All options must be on the same line. Be careful not to introduce any line breaks.

    The following line is an example of a complete java.args parameter line:


    java.args=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -server -Xms256m -Xmx512m -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Djava.security.egd=/dev/urandom -Djava.awt.headless=true -Duser.language=en -Dcoldfusion.rootDir={application.home} -Djava.security.policy={application.home}/lib/coldfusion.policy -Djava.security.auth.policy={application.home}/lib/neo_jaas.policy  -Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib,{application.home}/lib/axis2,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/cfform/jars,{application.home}/wwwroot/WEB-INF/flex/jars,{application.home}/lib/oosdk/lib,{application.home}/lib/oosdk/classes -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random   
    


  9. If you have other applications running on port 8000, change the port address to a free port. Make a note of the new port
  10. Start all ColdFusion services.

For more information about installing and using FusionDebug, please refer to the User Guide.

Issue Details

Type: Technote
Issue Number: FDS-20
Components: Configuration
Environment:
Resolution: Fixed
Added: 18/05/2007 13:52:24
Affects Version: 2.0
Fixed Version: 1.0
Server: ColdFusion 6, ColdFusion 7, ColdFusion 8, ColdFusion 9, ColdFusion 10
Platform: Windows XP, Windows 2000, Windows 2003, Linux, MacOS, Solaris
Related Issues:
  • FDS-14 – Do I run my page in a browser on port 8000 which I’ve configured in the jvm.config file?
  • FDS-21 – After having configured jvm.config for debugging my server does not start any more!
  • FDS-24 – Can I use FusionDebug with a MultiServer configuration?
  • FDS-71 – How do I debug on a remote computer?
  • FDS-80 – FusionDebug could not connect to the target system (Localhost:8000). Please ensure the debug agent is listening on the system, check you configuration file – Mac OS X
  • FDS-85 – Windows could not start the CF MX7 Server on Local Computer…refer to service-specific error code 2
  • FDS-93 – How do I configure FusionDebug to work with multiple servers or multiple instances?

[FDS-133] Creating a debug configuration fails with either java.lang.NullPointerException or java.lang.InvalidArgumentException

Description

Symptoms

You may see one of more of the following errors:

When trying to create or edit a debug configuration
java.lang.IllegalArgumentException: Argument not valid
When trying to create or edit a debug configuration
java.lang.NullPointerException
In workspace .log file
java.lang.UnsupportedClassVersionError: com/sun/tools/jdi/LinkedHashMap : Unsupported major.minor version 51.0
In workspace .log file
java.lang.NoClassDefFoundError: Could not initialize class com.intergral.fusiondebug.api.driver.ui.preferences.C

Background

Eclipse environments still running on older 1.6 JVM versions are not compatible with one of the libraries used in our software.

Resolution

  • Stop Eclipse environment that contains FusionDebug
  • Delete (or move to a completely different folder outside of your eclipse environment) \eclipse\plugins\com.intergral.fusionreactor.debug.core_3.6.1\lib\tools-1.6.0_18.jar
  • Copy the attached file tools-1.6.0_18.jar to that location
  • Start Eclipse

The errors should now have gone.

Issue Details

Type: Technote
Issue Number: FDS-133
Components: Installer
Environment:
Resolution: Fixed
Added: 07/02/2014 13:45:04
Affects Version: 3.6.1
Fixed Version: 3.6.1
Server:
Platform:
Related Issues: None

[FDS-127] FusionDebug 3.5.0 Release Notes

Description

FusionDebug Rev. 3.5.0

RELEASE NOTES – KNOWN ISSUES – ADDITIONAL LICENSE AGREEMENTS

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

The FusionDebug software is Copyright (C) 2006-2010 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: Tue, 9 Nov 2010

RELEASE NOTES

  • FusionDebug Rev. 3.5.0
  • Support for Windows 7
  • New Feature: Breakpoints IP address restriction – Only fire breakpoints from a given IP address list
  • New Feature: Auto detect the server debug platform type Window/Unix
  • New Feature: Change Value on the Expression Menu
  • FusionDebug Rev. 3.5.0 has been tested using Eclipse Platform 3.2 to 3.6 (Helios). 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.5.0.

KNOWN ISSUES

FusionDebug Rev. 3.5.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-debug.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.

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
FD277 New Feature Breakpoints Breakpoints IP address restriction – Only fire breakpoints from a given IP address list
FD260 New Feature Configuration Using JDI Auto detect the platform type Window/Unix and remove the need for the Config checkbox
FD50 New Feature Expressions Implement Change Value on the expression menu (requires new extension point)
FD378 Bug Fix Src Code Lookup Source Mappings Tab deletes mappings when you edit a mapping to be the same CF Source Folder as another
FD603 Bug Fix Integration – ColdFusion License An expired trial license whilst using the ColdFusion connector gives the wrong error message
FD604 Bug Fix Integration – Railo Stepping Railo: Stepping into a <cfdump> causes many errors

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-127
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 03/11/2010 13:44:55
Affects Version: 3.5
Fixed Version: 3.5
Server:
Platform:
Related Issues:
  • FDS-119 – FusionDebug 3.0.1 Release Notes
  • FDS-132 – FusionDebug 3.6.x Release Notes

[FDS-131] Debugging connection fails with “resource temporarily unavailable” or “target failed to handshake” message

Description

Symptom

When trying to debug against a 1.7 JVM you receive a handshake error such as:

  • Debugger failed to attach: recv failed during handshake: Resource temporarily unavailable
  • com.intergral.fusiondebug.client.model.FDModelConnectionException: java.net.SocketException: Software caused connection abort: socket write error
  • com.intergral.fusiondebug.client.model.FDModelConnectionException: java.io.IOException: Target failed to handshake

Background

Oracle/Sun changed the JVM debug connection handshake in the 1.7 JVM series; somewhere after update 2.

Fix

Note: This fix applies only to FusionDebug 3.5.0 users.

  1. Stop Eclipse
  2. Backup and remove the tools-1.4.2_10.jar from the com.intergral.fusionreactor.debug.core_3.5.0/lib folder
    • <eclipseinstallfolder>/plugins/com.intergral.fusionreactor.debug.core_3.5.0/lib
  3. Copy the attached tools-1.4.2_10.jar file to the com.intergral.fusionreactor.debug.core_3.5.0/lib folder.
  4. Start Eclipse

Issue Details

Type: Technote
Issue Number: FDS-131
Components: Connector for ColdFusion
Environment:
Resolution: Fixed
Added: 08/04/2013 18:21:55
Affects Version: 3.5
Fixed Version: 3.5
Server:
Platform:
Related Issues: None

[FDS-103] FusionDebug Railo Quickstart Guide

Description

Quickstart Guide: FusionDebug for Railo

This document should get you up and running with FusionDebug for Railo 3.1 (or higher)

Minimum Software

In order to start debugging Railo, you will need to download the following external components:

  • Eclipse – You should download the Eclipse IDE for Java Developers (this contains all the components required for FusionDebug). Eclipse is a software framework that isn’t just for Java – you can use it for ColdFusion too. The package can be found here.
  • Railo – You should download a build of Railo Express, available here.
  • FusionDebug for Railo – Install/Update Package for Eclipse – This is available here
  • Replacement Railo Express start scripts – These scripts run Railo with Java Debugging enabled – required for FusionDebug to connect to Railo. There is a replacement start.bat for Windows, and a replacement start for Mac OS X. They are available here. The replacement scripts instruct Java to start listening for FusionDebug on port 8000. *If your port 8000 is already in use, you can change this value by editing the startup script, but don’t forget to change it later when you create a Railo launch).

Installation

Railo Express

Railo Express doesn’t have an installer and must simply be unpacked to wherever it is required. Once unpacked, locate the appropriate start.bat file (or start for Mac OS X) and replace it with ours.

For the examples coming a little later, we assume you have unpacked Railo into the folder:

  • c:\ railo-3.1.0.012-railo-express-6.1.0-3-1-with-jre-windows

Check that Railo starts up using your script. You can leave it running for now.

Eclipse

Eclipse also doesn’t have an installer; simply unpack it into wherever you would like it to live.

When you start Eclipse for the first time, it will ask you to locate a Workspace. This is where new projects will be created by default, and where Eclipse will store some configuration information.

If you have existing projects, Eclipse can be set up to use them wherever they are – they don’t need to be in the Workspace.

Once you have selected a Workspace, Eclipse will start up into the Welcome perspective.

Install FusionDebug into Eclipse

  • Inside Eclipse, click on Window -> Open Perspective -> Debug to activate the debugging tools.
  • Click on Help -> Software Updates to open the Eclipse P2 Software Updates and Add-ons manager.
  • Select Help -> Software Updates -> Find and Install. This will bring up the Install/Update dialog.
  • Select “Search for new features in Install” and click Next.
  • Select “New Remote Site”. You will see a new dialog
  • Enter the following information:
  • then click OK.
  • In the Install/Update dialog, ensure the FusionDebug Update Site is checked, then click Finish.
  • The update manager will connect to fusion-reactor.com and locate the plugin. Once found, a new dialog will appear. Place a check mark against the “FusionDebug Update Site” and click Next.
  • After you have read and accepted the terms and license agreement, click Next.
  • Finally, click Finish to complete the process. When the Feature Verification dialog appears, click Install All.
  • Eclipse will ask if it should restart the Workbench. Answer Yes and the workbench will be restarted.

FusionDebug is now installed.

First Session with FusionDebug

Let’s create a useful Debug perspective within Eclipse.

  • Eclipse should restart already in the Debug perspective. If not, click on Window -> Open Perspective -> Debug to activate the debugging tools.
  • The Debug perspective can be customized to make it a bit more useful than it is right out of the box:
    • Close the Outline view by clicking the X icon on the tab.
    • Add the Project Explorer view to the perspective by clicking Window -> Show View -> Other…, then open General and select Project Explorer. Click OK.
    • Eclipse adds the Project Explorer tab to the lower set. This isn’t much use. Grab the Project Explorer tab and drag it to the left of the central empty space. Eclipse ghosts the region where it will appear. When the ghost rectangle is located where you would like the Project Explorer, release the mouse. The view should then re-open in the new location.
  • Ensure FusionDebug is installed by clicking Window -> Preferences. You should see a FusionDebug preference item. Close the preferences window by clicking OK.

Now we should tell Eclipse where our project is. For simplicity, we’ll use the Railo web root as a project. Then any files we create will automatically be created within the Railo web root.

  • Right click inside the Project Explorer and select New -> Project. In the New Project wizard, open General and select Project. For the Project Name, enter “Railo Webroot” and uncheck the Use default location checkbox. We don’t want to create a new project in the Workspace.
  • Use the Browse button to navigate to the webroot folder within Railo Express. If you unpacked Railo as mentioned above, this will be:
    • C:\railo-3.1.0.012-railo-express-6.1.0-3-1-with-jre-windows\webroot
  • Click Finish. You should see that Eclipse has found the existing webroot, and it contains only the default Railo index.cfm.
  • Open the default index.cfm file by double-clicking it. If another application opens the file (perhaps because .cfm is associated with another application), you can open the file within Eclipse by either:
    • dragging it into the gray editor area, or
    • right-click the file and select Open With -> Text Editor
  • Make sure you can run the index file in a browser. With Railo Express started, navigate to *http://localhost:8888/index.cfm* … you should see Railos colorful default dump page.

Now the file is open in Eclipse, we can try to debug it. We first need to set up a Debug Configuration. This is a FusionDebug configuration specific to the server you want to debug.

  • On the Eclipse toolbar, you can see a small green bug icon with a black down-arrow. Click the arrow and select Debug Configurations.
  • Right-click on the FusionDebug icon and select New
  • Give the configuration a useful name: Railo 3.1.0 on Localhost (for instance).
  • In the Connect tab, ensure the details are correct – in particular the port (if you changed it earlier in the start script) and the checkbox for the server type. Leave it checked for Windows, unchecked for Unix.
  • We have to tell FusionDebug how to map pages that run on the server to the projects in our Project Explorer view. Click on the Source Code Lookup tab.
  • Since we only have one project, we can use the default <All Projects> mapping. In the upper area, enter the path to the Railo webroot (in our example this was C:\railo-3.1.0.012-railo-express-6.1.0-3-1-with-jre-windows\webroot), and click Add. Now click Apply.
  • With the Debug Configurations wizard still open, click Debug.

If all has gone well, you should see FusionDebug (localhost:8000) (Connected) in the Debug view.

Let’s put a breakpoint in the page. Execution will stop when it hits a breakpoint.

  • Find the line (it’s line 21) that says <cfdump var=”#test#” label=”test”> and left click to put the cursor on it.
  • Now right-click on that line and select Toggle Line Breakpoint.
  • You should see a small blue circle appear in the gutter margin. If you select the Breakpoints tab, you should see an entry describing it too – along with where FusionDebug thinks the exact file is on the server.
  • In a browser, run the index.cfm page again.

Execution halts on the breakpoint.

  • If you switch back to Eclipse, you can see:
    • The Debug view shows a stopped thread (probably named btpool0-something), with the index.cfm page, the line number and the project file.
    • The Editor has highlighted the line.

Let’s look at the Variables view.

  • Click the Variables tab to bring the view into focus. This view is showing all the active CFML scopes.
  • You can see that the three lines above where we’re stopped set three variables in three different scopes.
  • Open these scopes (variables, url and form).

You can inspect any expression without locating it in the Variables view first.

  • In the editor, select the text url.test, then right-click and select Inspect Expression.
    • A small dialogue should open with the result of the expression: “Hallo URL”.
    • If you instead see (not visible), Railo couldn’t work out what you wanted to inspect – check you’ve selected the exact text url.test.

Stepping. You can now step the page in three ways. Stepping executes one instruction at a time.

  • The step functions correspond to the three yellow arrows at the top of the Debug view.
    • The first is Step Into. If you were on a statement which called another CF page (e.g. CFC method invoke, or cfinclude), Step Into will take you into that page.
    • The second is Step Over. This will execute the instruction under the cursor and go to the next one, but it won’t descend into any CFCs, UDFs or CFIncluded pages.
    • The third is Step Return. If you found yourself within a UDF, CFC or CFIncluded page, this step would execute all the remaining script within the UDF/CFC etc., and return you to the calling page.
  • Try it out by clicking Step Over (the middle arrow) a few times: you can see execution advance, line by line, while variables are updated in real time.

If you step all the way to the end of the page, you’ll see the page complete and it will disappear from the Debug view. If you don’t want to wait, click the green Resume arrow at the top of the debug view. Provided no further breakpoints are hit, the page should complete.

When you are ready to finish your debug session, right-click on the name of the configuration in the Debug view (“Railo 3.1.0 on Localhost”, if you used our example) and select Disconnect.

Issue Details

Type: Technote
Issue Number: FDS-103
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 01/04/2009 17:40:51
Affects Version: 3.0
Fixed Version: 3.0
Server: Railo
Platform:
Related Issues: None

[FDS-107] When stepping, the cursor occasionally skips back to an earlier line.

Description

When stepping through code against a Railo engine, you might see the current line pointer (CLP) skip backwards momentarily, before resuming normally.

This occurs only on particularly long pages.

The problem is understood and is due to the way Railo partitions large blocks of CFML code when compiling and assigning line numbers.

Fixed in Build – Railo 3.1.0.026 and higher. To resolve the issue you must use Railo 3.1.0.026 or higher.

Issue Details

Type: Technote
Issue Number: FDS-107
Components: Connector for Railo
Environment:
Resolution: Fixed
Added: 03/07/2009 15:12:36
Affects Version: 3.0
Fixed Version: 3.0
Server: Railo
Platform:
Related Issues: None

[FDS-106] JVM Memory Leak With Attached Language Debuggers

Description

JVM Memory Leak With Attached Language Debuggers

Sun identified a fault with their JVM product (on which most CFML engines run) which can cause memory to leak when a language debugger is attached and access the target machine in a certain (well-documented and Sun-approved) way.

Sun are tracking this issue under bug ID 4858370 here:

http://bugs.sun.com/view_bug.do?bug_id=4858370

Symptoms

During a long debugging session, you may find that the target JVM memory usage increases by a small amount, which is never reclaimed by Java. Under tests, FusionDebug was shown to have a minimal drain on memory due to this issue.

Fix

Since this is a known issue with the JVM, a Sun Microsystems product, it will be solved in a future JVM release. Customers should generally not experience this issue except when performing extremely long debugging sessions. Memory is reclaimed normally if the JVM is restarted.

Issue Details

Type: Technote
Issue Number: FDS-106
Components: Connector for ColdFusion
Environment:
Resolution: Fixed
Added: 28/04/2009 15:59:37
Affects Version:
Fixed Version: No Fix Available
Server: ServletExec, Railo, Jetty, JBoss, WebSphere, WebLogic, Tomcat, LiveCycle Data Services, Resin, Flex Data Services, JRun 4, ColdFusion 8, ColdFusion 6, ColdFusion 7
Platform: Solaris, MacOS, Linux, Windows 2003, Windows Vista, Windows 2000, Windows x64, Windows XP
Related Issues: None

[FDS-104] Configure FusionDebug for Railo on Resin

Description

In order to run FusionDebug 3 (or higher) against Railo on the Caucho Resin platform, Resin must be configured to allow debugging connections.

This is configured in RESIN_HOME\conf\resin.conf

  • Ensure Resin is halted.
  • Locate the file mentioned above and edit it.
  • Locate the block of jvm-arg configuration items and add

<jvm-arg>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000</jvm-arg>

to the list.

  • Restart Resin.

If debugging has been configured, you will see:

Listening for transport dt_socket at address: 8000

as the first line of the Resin startup.

Issue Details

Type: Technote
Issue Number: FDS-104
Components: Configuration
Environment:
Resolution: Fixed
Added: 02/04/2009 17:02:39
Affects Version:
Fixed Version: 3.0
Server: Resin, Railo
Platform:
Related Issues: None

[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

[FDS-119] FusionDebug 3.0.1 Release Notes

Description

FusionDebug Rev. 3.0.1

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: Fri, 27 Nov 2009

RELEASE NOTES

  • FusionDebug Rev. 3.0.1
  • ColdFusion 9 support. You can now also debug ColdFusion 9 Servers.
  • Further integration with the ColdFusion Builder CFML editor.
  • New Feature: Hitcounts. Hitcounts can now be added to breakpoints along with breakpoint conditions. A hitcount allows a breakpoint to fire only after a certain number of breakpoint hits. For example, if the breakpoint was in a <cfloop> and had a hitcount of 5, the breakpoint would only fire on the 5th and consecutive iterations.
  • New Feature: Auto-step: You can now automatically step through a CFML application, watching variables, expressions and the execution path.
  • FusionDebug Rev. 3.0.1 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.01.

KNOWN ISSUES

FusionDebug Rev. 3.0.1

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
FD566 New Feature FD Implementation ColdFusion 9 Support
FD568 New Feature Breakpoints Hitcounts on Breakpoints
FD589 New Feature Stepping Auto-step feature
FD571 Improvement Breakpoints Breakpoint condition editor non-mono-space font
FD577 Bug Fix CFBuilder Editor context menu entries missing in CFBuilder
FD579 Bug Fix CFBuilder Ruler context menu “Toggle Line Breakpoint” entry missing in CFBuilder
FD581 Bug Fix CFBuilder Error when clicking variables in CFBuilder
FD582 Bug Fix Breakpoints, CFBuilder Changing properties of Adobe breakpoint causes error
FD584 Bug Fix Breakpoints Breakpoint text not removed on disconnect
FD592 Bug Fix Breakpoints Breakpoints not updated on file edit & save
FD594 Bug Fix Stack Frames, Debug View, Breakpoints Stack frame loses occurs on breakpoint hit

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-119
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 27/11/2009 14:21:38
Affects Version: 3.0.1
Fixed Version: 3.0.1
Server:
Platform:
Related Issues:
  • FDS-113 – FusionDebug 3.0.0 Release Notes
  • FDS-127 – FusionDebug 3.5.0 Release Notes

[FDS-126] Using FusionDebug with Adobe’s CF Builder

Description

Using FusionDebug with Adobe’s CF Builder

There are a number of compatibility issues when using FusionDebug installed into Adobe’s ColdFusion Builder.

The debug port

If CF Builder has a server correctly configured, and the server has the debug port open (for example, RDS is enabled), then CF Builder will connect to the port on startup. This means that FusionDebug never gets a chance to connect to the port. To prevent this from happening any RDS configurations need to be disabled. To do this go to Window -> Preferences -> Adobe -> RDS configuration, then remove any servers. Now restart CF Builder and FusionDebug should be able to connect properly.

Breakpoints

When FusionDebug is not connected, any breakpoint that is set is an Adobe breakpoint, when FusionDebug connects all breakpoints are “converted” to FusionDebug breakpoints. As long as FusionDebug is connected only FusionDebug breakpoints will be added. When disconnected the breakpoints will not be converted back and so it is actually possible for you to add a duplicate breakpoint on the same line. On another FusionDebug connect these duplicates will be resolved.

Conclusion

Overall, FusionDebug does perform well when installed on CF Builder, and there are few problems unless you are switching between the two debuggers.

Issue Details

Type: Technote
Issue Number: FDS-126
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 24/06/2010 12:51:12
Affects Version: 3.0.1
Fixed Version: 3.0.1
Server: ColdFusion 9, ColdFusion 8
Platform:
Related Issues: None

[FDS-120] Breakpoints not removed and duplicate breakpoints appear

Description

This occurs when the Adobe ColdFusion Builder is installed in the same IDE as FusionDebug. To integrate with CFBuilder FusionDebug will convert Adobe’s breakpoints to FD ones, but in order for the two plugins to co-exist we only do this when FD is connected. Any Adobe breakpoints that are in Eclipse before connecting will be converted to FD breakpoints, but cannot be converted back on disconnect, therefore breakpoint toggling does not work as expected.

One way to ensure that toggling always works is by exclusively using FusionDebug methods of toggling a breakpoint, i.e. the “Toggle Line Breakpoint” entries in the ruler context menu and the editor context menu. Note, when connected any methods of breakpoint toggling can be used.

Issue Details

Type: Technote
Issue Number: FDS-120
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 30/11/2009 10:59:04
Affects Version: 3.0.1
Fixed Version: No Fix Available
Server:
Platform:
Related Issues: None

[FDS-124] ColdFusion Builder – Errors are logged when stepping through a page

Description

Errors are occasionally logged in the Error view of ColdFusion Builder beta 2 when stepping through a page at moderate speed. The errors are logged by ColdFusion Builder and will not affect FusionDebug and your stepping operations. Adobe are aware of the issue.

Issue Details

Type: Technote
Issue Number: FDS-124
Components: Stepping
Environment:
Resolution: Fixed
Added: 03/12/2009 16:45:14
Affects Version: 3.0.1
Fixed Version: No Fix Available
Server:
Platform:
Related Issues: None

[FDS-123] ColdFusion Builder – Line Highlighting is odd when breakpoint hits or when stepping

Description

When using FusionDebug in ColdFusion Builder you may notice problems with the line being highlighted properly when a breakpoint fires or when stepping through a page. This currently occurs in the beta 2 of ColdFusion Builder and the problem has been logged with Adobe.

Note that the current instruction pointer and the stack will show the correct line that the application is on, but this line may not be highlighted. Other lines can also remain highlighted after passing them.

Issue Details

Type: Technote
Issue Number: FDS-123
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 03/12/2009 16:40:13
Affects Version: 3.0.1
Fixed Version: No Fix Available
Server:
Platform:
Related Issues: None

[FDS-116] Railo shows error message when using client license: “FD Server licensing does not work…”

Description

Error Message: “Listening for transport dt_socket at address: 8000
FD Server Liscensing does not work with the Open Source Version of Railo or Enterprise Version of Railo that is not enabled.”

This message is displayed in the Railo server output when connecting with a trial or local client license. It does not affect FusionDebug in any way and you can still connect and debug Railo as normal.

This problem should be fixed in the next Railo update.

Issue Details

Type: Technote
Issue Number: FDS-116
Components: Connector for Railo
Environment:
Resolution: Fixed
Added: 24/08/2009 11:03:06
Affects Version: 3.0
Fixed Version: 3.0
Server: Railo
Platform: Solaris, MacOS, Linux, Windows 2003, Windows Vista, Windows 2000, Windows x64, Windows XP, AIX
Related Issues: None

[FDS-117] Right-click menu items lost when using Adobe Coldfusion Builder CFML editor

Description

If Adobe ColdFusion Builder and FusionDebug are installed on the same Eclipse environment, the FusionDebug entries in the right-click menu of the CFML editor may be lost.

Solution

To fix the problem simply replace the plugin.xml file found in the FusionDebug plugin installation folder, currently found here:

eclipse\plugins\com.intergral.fusionreactor.debug.core_3.0.0.RTP

or for a ColdFusion Builder installation, the default location is here:

C:\CFBuilder\plugins\com.intergral.fusionreactor.debug.core_3.0.0.RTP

with the plugin.xml file found attached.

Eclipse will now need to be started with the -clean option because it caches some plugin configurations. On the command line change directory to your Eclipse install and run:

eclipse -clean

The right-click menu items should now be visible.

Issue Details

Type: Technote
Issue Number: FDS-117
Components: Configuration
Environment:
Resolution: Fixed
Added: 25/08/2009 13:06:58
Affects Version: 3.0
Fixed Version: 3.0
Server:
Platform:
Related Issues: None

[FDS-112] F5 “Step Into” re-bound to “Refresh” by CFEclipse

Description

The F5 key may be re-bound to refresh the browser when CFEclipse is installed or updated. This can override the debug key setting of “Step Into”.

This key can be reset by going to Windows – Preferences – General – Keys. Make sure the F5 key is set to Step Into for the Debug context and you can either modify or delete the F5 key binding for the CFML Editor context.

Issue Details

Type: Technote
Issue Number: FDS-112
Components: Configuration
Environment:
Resolution: Fixed
Added: 22/07/2009 12:49:24
Affects Version: 2.0
Fixed Version: No Fix Available
Server:
Platform:
Related Issues: None

[FDS-114] Matching column fields and conditions on breakpoints; blank space required

Description

Comparisons between database strings and CFML strings

Conditional breakpoint expressions are pure CFML code, therefore when you use a query column that has a fixed size, for example nchar(10), the returned string is buffered with spaces to fill the length of 10, i.e. “James “. This means that when a comparison is made; qry.id eq “James”, this will return false and the breakpoint will not fire.

The same problem arises in CFML, one solution is to use the Trim or RTrim functions.

Issue Details

Type: Technote
Issue Number: FDS-114
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 06/08/2009 11:52:53
Affects Version: 3.0
Fixed Version: 3.0
Server: Resin, ColdFusion 8, Railo, ColdFusion 6, Jetty, ColdFusion 7
Platform: Solaris, MacOS, Linux, Windows 2003, Windows Vista, Windows 2000, Windows x64, Windows XP
Related Issues: None

[FDS-111] Use of Custom Exceptions in ColdFusion, Caught and Uncaught

Description

Break on Runtime Custom Exceptions ColdFusion Connector

When using Break on custom_type exceptions in ColdFusion servers, the behavior may not be as expected. ColdFusion defines a Caught exception as an exception thrown inside a <cftry> body. This means that the <cfcatch> type does not have to be of custom_type for the breakpoint to be fired.

For example, the following would be deemed a caught exception and an exception breakpoint would fire, if enabled.

<cftry>
	<cfthrow type="custom_type" message="Error">
<cfcatch type="application">
	Application exception thrown! <br>
</cfcatch>
</cftry>

An Uncaught exception would be one thrown outside of a <cftry> body, as expected.

Note

Different ColdFusion servers will thow the exception multiple times. This will cause FusionDebug to halt the page more than once.

Issue Details

Type: Technote
Issue Number: FDS-111
Components: Exception Breakpoints
Environment:
Resolution: Fixed
Added: 22/07/2009 12:47:19
Affects Version: 3.0
Fixed Version: 3.0
Server: ColdFusion 8, ColdFusion 6, ColdFusion 7
Platform:
Related Issues: None

[FDS-110] Saving out Breakpoints, and Expressions as a set.

Description

Suggestions

Though you cannot save out both breakpoints and expressions together as a set, you can achieve this function by using some existing Eclipse features and some saved text management.

Firstly you can use the Eclipse ‘working sets’ functionality to have projects open in specific groups, this persists information and preferences pertaining to these ‘sets’. But to store your specific breakpoints and expressions you should back them up manually.

Export/Import Breakpoints

You can select the Breakpoint View in the FusionDebug perspective and right click with the mouse to access the Breakpoint View context menu. With this context menu you should see the option to ‘Export Breakpoints’, by selecting this you can access a export screen/wizard allowing you to save out selected breakpoints to a given location and file. Through use of this feature and good naming conventions you can store project specific breakpoints for future import and use. We would suggest storing these either with your project so they are easily managed and found, or by having a set location and naming structure to help in finding.

Within the Breakpoint View context menu you will also find the ‘Import Breakpoints’ option. This option will ask for a valid exported breakpoint file to import from.

Note: You can only import breakpoints for open projects you have in your workspace, at the time of import. As the mappings to existing projects are checked at this stage by Eclipse.

Storing Expressions

Though Eclipse has no store feature for expressions, these are simply text fields, as such you can back these up in a simple text file. If the text file is present in Eclipse you can even drag and drop the expressions from the text file to the Watch Expression View (in 3.4 Ganymede and above). For ease we would suggest storing the expressions text file as part of the project you want to use them with. By doing so, when this project is open you can simply open this text file in Eclipse and drag/copy the expressions to the Expressions VIew, or add them via the editor context menu for FusionDebug.

Note:Saving out your breakpoints and expressions to watch as a set is not possible, these are suggestions on getting this functionality with the Eclipse support that exists.

Issue Details

Type: Technote
Issue Number: FDS-110
Components: Breakpoints
Environment:
Resolution: Fixed
Added: 22/07/2009 12:22:27
Affects Version: No Fix Available
Fixed Version: No Fix Available
Server:
Platform:
Related Issues: None

[FDS-96] FusionDebug 2.0.1 Release Notes and Resolved Issues

Description


FusionDebug Rev. 2.0.1


RELEASE NOTES KNOWN ISSUES

Status: May 25th, 2007

RELEASE NOTES

FusionDebug Rev. 2.0.1

We appreciate your feedback. Please use the web form or send mail to:

FusionDebug client has been tested using Eclipse Platform 3.1 and 3.2 on Microsoft Windows XP SP2
and on GNU/Linux Fedora Core 5 (kernel 2.6.17s-smp) under Gnome. FusionDebug is a pure Java
application with no native dependencies, and so runs on all OS platforms for which Eclipse is
available.

We recommend installing the Eclipse SDK package. This can be obtained from:

http://www.eclipse.org/downloads/

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/

KNOWN ISSUES

Many of these issues can be resolved by disconnecting FusionDebug (by selecting the blue
“FusionDebug” line in the Debug view, and clicking the red Disconnect icon).

JDWP Connections Prevent JRUN Container Restart

When the JDWP connection begins a variable fetch or evaluation, this can in some cases cause
the JDWP debug agent to prevent JRun’s service controller (used by Windows Services) from
restarting the container. In this case, disconnecting FusionDebug usually solves the issue.

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

We’re working hard on being able to decode all CF 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 CF processes and optimizes pages at compile time.

Some CFM/CFC files are listed multiple times with different line numbers in the stack although they are only called once

This is the result of compile time optimization of the CF code by the compiler. You can
workaround this issue by recompiling the affected page while FusionDebug is attached.
FusionDebug will ask the compiler to not optimize the code in this way and produce files that
are friendly to debugging. You must have the Compile CF pages in debug friendly mode checked
on in the launch configuration for this feature to work.

Sometimes variables or scopes are not shown/empty (ObjectCollected exception)

This is usually due to the way Java handles memory allocations for debuggers. Performing a
step usually corrects this.

Calling CF 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.

*Breakpoints set on a 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.

Breakpoints on <cfreturn> statements should now fire (from FD 2.0.1)

Eclipse Outputs Text To The Console

If you start Eclipse Workbench from a Unix terminal session, you may see occasional
debugging output to the system STDOUT (System.out) and STDERR (System.err) streams.

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.

While debugging the page simply terminates

Check in the CF Administrator if you have Timeout Requests after ( seconds ) activated
When checked, requests that take longer than the specified time are terminated. This normally
prevents unusually long requests from occupying server resources and impairing the performance
of other requests. This feature will however also terminate pages that you are debugging if you
exceed the time limit. Deactivate this feature while debugging.

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
FD373 Improvement All Performance optimizations
FD299 Bug Breakpoints Breakpoints do not fire on simple <cfreturn somevar> statements. Heavily affects frameworks…
FD349 Bug Breakpoints Breakpoints don’t fire after connecting session.
FD356 Bug Breakpoints Breakpoints do not fire if the Save Class files option is off and the cfclasses folder is empty
FD389 Bug Breakpoints NPE from Stack Assembler when BP is placed on a line prior to function declaration.
FD308 Bug Breakpoints If multiple breakpoints have been added on the same line then the FusionDebug breakpoint stops working.
FD331 New Feature Breakpoints Breakpoints should fire when set on blank lines or lines with no CFML
FD375 Bug Breakpoints Error in Eclipse when setting breakpoints.
FD345 Bug Breakpoints Renaming a file does not unset JDI breakpoints (was: Breakpoint fires but does’t appear in FusionDebug)
FD382 Bug Breakpoints You cannot set a breakpoint on the first line of a file if the first line isn’t code.
FD408 Bug Breakpoints Breakpoints are not remove from JDI when they are removed in the editor by deleting the lines the breakpoint is on
FD344 Bug Breakpoints Confusing breakpoint behaviour when code moves breakpoint.
FD353 Bug Breakpoints Exceptions in workspace log when pasting new content into a file with a breakpoint in it.
FD298 Bug Breakpoints Breakpoint are not firing in a Mach-II application in the Listeners
FD372 Bug CF Abstraction

Stepping
Step into on a CFSWTICH statement steps to the wrong line at the end of the <CFDEFAULTCASE>
FD386 Bug Config Tool FD Server Configuration Wizard version should be 2.0.1
FD421 Bug Eclipse Error in Eclipse when disconnecting a debugging session
FD291 Improvement Eclipse Add “Patent Pending” to the splash image and Preference Windows
FD302 Improvement Install Bring FD installers up to CFEclipse version (1.3.1.1)
FD306 Bug Install Launching FD failed because javaw.exe could not be found
FD313 Improvement Install FD2.0.1 PluginInstaller should be able to update FD2.0.0 Standalone automatically
FD320 Bug Src Code Lookup Case where you can’t modify the default project mapping.
FD316 Bug Stack Frames Wrong file is opened on breakpoint
FD329 Bug Stepping An error in a CF page causes the debugger to hang while doing step intos
FD325 Bug Stepping When stepping into a MGU function I get a line:-1 shown in the stack
FD410 Bug Stepping Non-Linear (Block Skip) Stepping in CF8 (Unmasked JDI bug)
FD330 Bug Stepping Stepping through a high number of factors causes the page to hang
FD361 Bug Stepping Step Over on a file with a large number of cfif statements (factors) skip most of the code
FD362 Bug Stepping Stepping into a large number of factors can skip code
FD431 Bug Stepping Stepped into the cfDump tag while stepping through a page.
FD433 Bug Stepping Step Return does not return to the caller when a page contains _factors but to the next factor block

Issue Details

Type: Technote
Issue Number: FDS-96
Components:
Environment:
Resolution: Fixed
Added: 18/06/2007 16:38:48
Affects Version: 2.0.1
Fixed Version:
Server:
Platform:
Related Issues:
  • FDS-113 – FusionDebug 3.0.0 Release Notes

[FDS-109] Stepping seems slow (Eclipse 3.5 ‘Galileo’ with Cocoa SWT)

Description

Users installing FusionDebug into a Mac OS X installation of Eclipse 3.5 (Galileo) utilizing the Cocoa SWT widget system may experience slow performance when stepping.

This will be reflected by a short delay between the Debug view updating its contents and the relevant source file and line being displayed in the editor.

We have isolated this as an issue in the Cocoa SWT build, and as such is unfortunately out of our control. The SWT (Standard Widget Toolkit) is the component of Eclipse which provides the buttons, menus and other visual components.

This problem has a slight impact on stepping speed. If you are affected by this issue, we recommend you obtain the Carbon build of Eclipse for Mac OS X which does not exhibit this issue.

You can find all Eclipse builds for Eclipse 3.5 ‘Galileo’ here.

Issue Details

Type: Technote
Issue Number: FDS-109
Components: Stepping
Environment:
Resolution: Fixed
Added: 20/07/2009 17:50:27
Affects Version: 3.0
Fixed Version: No Fix Available
Server:
Platform:
Related Issues: None