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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
Status: May 25th, 2007
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:
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.
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 |
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: |
|