This is due to a Java bug (6497210, available here, fixed in Java JRE/JDK 7.0b7) which causes Java (on which ColdFusion runs) to crash during debugging. This bug may manifest itself by:
All of these exits may also be associated with a VM error message “Bus Error”.
This problem occurs if a debug client (such as FusionDebug, Eclipse, Netbeans or JDB) is reading variable values when Java attempts to clean up memory by performing a garbage collection.
On Windows, a Java Error File (hs_err_pidXXX.log) may be generated in the ColdFusionMX/runtime/bin folder. On Macintosh, a Crash Reporter log may be generated in the ~/Library/Logs/CrashReporter folder.
This problem occurs quite rarely, but could happen when performing fast stepping (by holding down the Step-Into or Step-Over key). The problem affects all Java platform debuggers, not just FusionDebug. Running in low or marginal memory situations will also greatly increase the probability of this bug occurring.
The bug occurs much more frequently on non-Windows platforms.
If you are affected by this behavior, it may be possible to alleviate the problem somewhat by increasing the memory available to Java, thereby decreasing the number of garbage collections required and the possibility of one occurring while FusionDebug is reading variables. The following procedure details this workaround.
This bug has been fixed in Java version 7 (1.7), but since neither FusionDebug nor ColdFusion/JRun are supported on that platform yet, we recommend performing the workaround procedure above. There is a chance the fix will be back-ported to future Java 5 (1.5) and 6 (1.6) maintenance releases, though this is not guaranteed by Sun.
If, after performing the remedial steps above, you are still affected by this problem, please get in touch with us at Support.
Type: | Technote |
---|---|
Issue Number: | FDS-39 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:26:58 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
From the Eclipse Window menu, select the Show View -> Navigator. This will add a navigator view to your debug perspective which you can use to open projects and select files.
Alternitively, use the all-in-one FusionDebug perspective: select Window -> Open Perspective -> Other, then select FusionDebug. We’ve created this perspective to contain all the most useful views for debugging. Of course, you can customize this perspective yourself and add or remove views as you see fit.
Type: | Technote |
---|---|
Issue Number: | FDS-38 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:24:49 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
Compilation of pages occurs before FusionDebug can start tracking the page as it runs in ColdFusion.
Having FusionDebug connected does not affect this process.
If the page does not compile, ColdFusion will report errors as if the debugger were not connected – you will be able to read the normal error report in your browser, as usual.
Type: | Technote |
---|---|
Issue Number: | FDS-35 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:20:27 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
If an error occurs during page execution or stepping, ColdFusion will process that error as though the debugger were not connected.
FusionDebug will stop tracking the thread, and you should refer to your browser for any debugging or robust debugging report generated by ColdFusion.
Type: | Technote |
---|---|
Issue Number: | FDS-34 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:20:01 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
Eclipse requires the double-quote (") characters in the expression to be specified in the Find, or at least covered by wildcards.
Since all expressions are enclosed by double-quotes, they must be specified in all Find operations. E.g. the expression "thedate" must be specified using wildcards (*date*).
Type: | Technote |
---|---|
Issue Number: | FDS-33 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:16:22 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
FusionDebug attempted to evaluate the expression, but either:
In the latter case, the expression will be correctly evaluated when all the components comprising it are visible (using normal ColdFusion visibility rules) from the current position of the debugger.
No expressions are evaluated unless a thread is currently paused. Clicking on a frame within the Debug View causes the expressions to be evaluated in the context of the instruction pointer in that frame.
Type: | Technote |
---|---|
Issue Number: | FDS-32 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:15:23 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
This is a known issue when debugging on the JRockit platform.
Currently the only solution is to change to a different JVM.
Type: | Technote |
---|---|
Issue Number: | FDS-28 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:07:20 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
This is a confirmed fault with the Eclipse 3.1 platform. You may see this error if you are using Eclipse 3.1, or Flex Builder 2 (“Flex 2”), which also uses this platform. The fault is confirmed in Eclipse platform bug 105095
We recommend updating to Eclipse 3.2.2 or newer.
Type: | Technote |
---|---|
Issue Number: | FDS-27 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:06:27 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
Text output by the cfoutput tag is buffered by ColdFusion until
If you’d like to output data as you are debugging, try inserting cfflush tags periodically or use the cfflush interval attribute to cause flushing after a certain number of bytes
Type: | Technote |
---|---|
Issue Number: | FDS-26 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:04:47 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
FusionDebug can only step into CFCs, cfinclude pages, sub-tags or modules. FusionDebug can’t step into Java objects or ColdFusion internal tags.
Additionaly, ColdFusion sometimes performs optimization around sub-tag calls, which can lead to this functionality not working, or requiring one or more additional clicks on the ‘Step Into’ button to take effect.
Type: | Technote |
---|---|
Issue Number: | FDS-25 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:04:15 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
The Step Out (Step Return) functionality is only active on pages with multiple stack frames, i.e. pages which have called CFCs or sub-tags.
This bug appears on the Eclipse 3.2.0 platform. The bug does not occur on Eclipse 3.2.1 or 3.1.2. In order to Step Return, the top-most stack frame must be clicked. This will re-enable the functionality.
We recommend upgrading from Eclipse 3.2.0 to Eclipse 3.2.2 to solve this issue.
Type: | Technote |
---|---|
Issue Number: | FDS-11 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:23:34 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
This is a known problem. Due to platform changes between Eclipse 3.1 and 3.2, we can’t currently support Inspect on 3.1. We recommend upgrading your Eclipse installation.
Type: | Technote |
---|---|
Issue Number: | FDS-60 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:47:33 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
If stepping is very slow when you are debugging try closing the Variables in the variable view, and the expressions in the expressions view. Also try just selecting the breakpoints and stepping while only the breakpoints are visible. FusionDebug must fetch all of the variables and expressions that you have open every time you step and this can slow things down.
If things are going slow when you step into certain tags, i.e. they go slow when you step into a <CFDUMP>, then try using STEP OVER instead of STEP INTO. Some of the ColdFusion tags are implemented in ColdFusion code and a lot of Java. If you step into them instead of stepping over them, we will detect it, but you must wait for the debugger to step through all of this code until it returns to the next piece of real (your) CF code.
Other reasons why this is occurring could be;
1. Memory is very tight.
The debugger requires some memory (not much), but if memory was particularly tight, it may move Java into a exhausted memory condition. If this is the case Java can slow down by 100’s to even 1000’s of times. To check this, try increasing the -Xmx setting in your jvm.config. eg, if the settings is -Xmx512m then try -Xmx768m
2. Garbage collection is taking a very time
When the debugger is active garbage collection is slowed down, so that objects are available so that you can examine them. This could cause the server to go slow periodically for a few seconds. Does your page create use a lot of memory?
Type: | Technote |
---|---|
Issue Number: | FDS-83 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 01/06/2007 11:29:16 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | |
Related Issues: | None |
It is possible to inspect and drill through CFC objects held as variables. However, issues of this not working when CFCs are addressed via gateways sometimes exist. A workaround for this has been developed, a request for a patched JAR file can be done so by contacting .
The JAR file is installed as follows;
1. Shut down Eclipse
2. Go to the Fusion Debug Core plugin directory, typically C:\eclipse\plugins\com.intergral.fusionreactor.debug.core_1.0.0
3. Rename the file core.jar file to core.bak
4. Place the attached Jar file in the folder as core.jar
5. Start Eclipse and retest CFC’s to see if they now open correctly.
This problem is fixed in FusionDebug 2.0
Type: | Technote |
---|---|
Issue Number: | FDS-79 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 31/05/2007 15:52:30 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | |
Platform: | Solaris, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
Yes. FusionDebug will work with any ColdFusion application or framework and has been tested with Mach-ii, Model Glue, MGU, Coldspring, Transform, Fusebox and many others.
Type: | Technote |
---|---|
Issue Number: | FDS-89 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 01/06/2007 16:37:16 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | |
Related Issues: | None |
FusionDebug is not limited to working on files in the same folder. For FusionDebug to be able to find the files in sub-folders your Eclipse Project folder structure must match (mirror) the folder structure on the web server, and you have to have the “Eclipse folder structure mirrors the webserver” option checked ON (default) in the FusionDebug Launch configuration.
Please note that FusionDebug 2 has enhanced source code lookup features and can handle far more complex applications than FusionDebug 1.0
Type: | Technote |
---|---|
Issue Number: | FDS-88 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 01/06/2007 16:06:01 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | Solaris, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
After a clean installation of FD Standalone a dialog shows when starting FD saying:
“A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run FusionDebug. No Java virtual machine was found after searching the following locations: C:\Program Files\FusionDebug\jre\bin\javaw.exe ‘javaw.exe’ in your current PATH”
This is a known bug and has been fixed in version 2.0.1. To fix this bug for the current version of FD add the directory:
C:\Program Files\Common Files\i4j_jres\1.6.0\bin
to your PATH variable.
Note: The above path is depended of the language of your Windows. For a German Windows this directory is:
C:\Programme\Gemeinsame Dateien\i4j_jres\1.6.0\bin
For other languages there might be a different path as well.
Type: | Technote |
---|---|
Issue Number: | FDS-12 |
Components: | Installer |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:31:35 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
The FusionDebug Configuration settings allow you to enter the IP address of the server that you wish to debug. If the machines that you have are load balanced then you have to enter the private IP address of the server. By doing this, you’ll be able to create as many debug profiles as you like by copying the profiles and altering the settings on them to meet the setup of each environment.
The jvm.config file would have to be altered for any server that you wish to debug to include the debug settings also. eg. you may have to add the following options to your java.args:
-Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
Please note that the address is the port number that you must enter in the launch configuration. You cannot have more than one server using the same port. See the related technotes for futher details. Also see the Adobe technote on configuring individual JVM settings for each JRun Server
Also note that only one person can connect to a server to debug at any one time (this is a restriction of the underlying Java JVM).
Type: | Technote |
---|---|
Issue Number: | FDS-93 |
Components: | Configuration |
Environment: | |
Resolution: | Fixed |
Added: | 24/05/2007 10:52:51 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | Tomcat, JRun 4, ColdFusion 8, ColdFusion 6, ColdFusion 7, JBoss, WebSphere, WebLogic |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: |
These threads have suspended because of a breakpoint. Breakpoints fire whenever a request hits them. If you see many pages in the Debug View, this is because a web browser requested that page, and the page hit a breakpoint.
If you have a shared test server, we recommend disabling your breakpoints, or activating “Skip All Breakpoints” (see “Breakpoints View” in the User Guide) after your breakpoint has fired, so requests from someone else do not suspend. You can then resume any requests that may have suspended from others.
Type: | Technote |
---|---|
Issue Number: | FDS-23 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:58:16 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
FusionDebug doesn’t require pages to be launched ‘inside’ the debugger. Simply run your page using a web browser (or Flex, Flash Remoting, Ajax, or web service client) as normal and the debugger will suspend it correctly when a breakpoint is hit.
Type: | Technote |
---|---|
Issue Number: | FDS-18 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:42:35 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
Here is an outline of how to get started quickly debugging. It is recommended to read the FusionDebug manual to get further information about debugging ColdFusion:
Type: | Technote |
---|---|
Issue Number: | FDS-13 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:33:30 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |
This can be caused by one of two things. You can check this by starting ColdFusion from the DOS command line.
Starting CF from the DOS Command Line (make sure the CF Service is stopped first):
Type: | Technote |
---|---|
Issue Number: | FDS-17 |
Components: | Configuration |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:40:20 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | JRun 4, ColdFusion 8, ColdFusion 6, ColdFusion 7, JBoss, WebSphere, WebLogic |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: |
|
This is a known problem with Eclipse 3.1 and doesn’t occur in 3.2. We recommend you upgrade your Eclipse Platform. As of writing, the Eclipse 3.2 version of Flex Builder 2 is only available as a plugin.
Type: | Technote |
---|---|
Issue Number: | FDS-10 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:22:50 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | |
Related Issues: | None |
There are several ways to remove a breakpoint.
1. Double click directly on the breakpoint
2. Right mouse click on the breakpoint and select the Toggle Breakpoint Menu item
3. Click on the line in your code which has a breakpoint (actually on the line, not in the border) and then Right-click and select “Toggle Line Breakpoint” from the menu.
4. Open the Breakpoints tab, right click on one of the breakpoints listed and select Remove from the menu.
Also note that you can disable breakpoints on the Breakpoints tab by right mouse clicking on the breakpoint and selecting the Disable option. This causes the breakpoint to no longer fire, but the breakpoint definition is kept in the breakpoint tab so that you can Enable it again later, without having to find the location in the code and reinserting the breakpoint.
Type: | Technote |
---|---|
Issue Number: | FDS-72 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 30/05/2007 15:44:32 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | |
Related Issues: | None |
“Perspectives” is the name Eclipse gives to different window layouts.
The Debug perspective contains a layout optimized for debugging code such as Java. The FusionDebug perspective has been optimized for debugging ColdFusion applications.
You typically change to the FusionDebug perspective when you start a ColdFusion debugging session, and change back to an Editing perspective such as the CFEclipse perspective when you are writing code.
You can change perspective by selecting the Windows->Open Perspective menu option.
Type: | Technote |
---|---|
Issue Number: | FDS-19 |
Components: | Configuration |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:43:25 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | |
Platform: | |
Related Issues: | None |