FusionDebug can be used with a MultiServer configuration.
Since version 7 the ColdFusion Setup allows you to install ColdFusion as a SingleServer or MultiServer edition. The latter allows you to run multiple cfusion servers. Per default all these servers share the same JVM configuration (jvm.config) which will let you run into problems when you have added the debugging configuration parameters required by FusionDebug. As a result you will be able to run only one server at once. When you try to start another server it fails and you will see a message like the following in the logs:
09/22 14:27:32 error Exception thrown in operation start [1]java.net.BindException: Port in use by another service or process: 8000 at jrun.servlet.network.NetworkService.bindToSocket(NetworkService.java:337) at jrun.servlet.network.NetworkService.start(NetworkService.java:198) at jrun.servlet.http.WebService.start(WebService.java:73) ...
If you only temporarily add the FusionDebug configuration to jvm.config this might be not a problem for you. Just remove it once you finished debugging.
A better approach would be to use multiple jvm.config files – each one dedicated to one server. Adobe has published a technote that explains in detail how to do this.
On Windows platforms, if you add a new CFusion instance using the Enterprise Manager->Instance Manager page in the ColdFusion Administrator, the default settings will NOT create a dedicated windows service and therefor the newly created instance will use the same jvm.config file as the cfusion instance. When you try to debug this new instance with FusionDebug it will connect to the port already used by the cfusion instance – but the files you want to debug are served by the newly created instance, e.g. debugging will not work.
Type: | Technote |
---|---|
Issue Number: | FDS-24 |
Components: | Configuration |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:01:07 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | Tomcat, JRun 4, ColdFusion 8, ColdFusion 6, ColdFusion 7, JBoss, WebSphere, WebLogic |
Platform: | |
Related Issues: |
Make sure all projects which you are working with are open within Eclipse. FusionDebug cannot trigger breakpoints on files contained within closed projects.
There are several other reasons that your breakpoints mighty not be firing:
When ColdFusion MX compiles pages prior to running them it may optimize away some lines which it considers unimportant (along with any breakpoints on those lines).
These include empty lines, comments or line which are only outputting HTML.
To ensure your breakpoint fires, place it on a line containing a CF statement. Please note that there are a couple of CF tags such as cfscript or cfreturn which can also be optimised away, resulting in breakpoints on these lines not firing.
FusionDebug 2.0.1 can reliably set breakpoints on many of these lines; consider upgrading to FD 2.0.1.
To be able to find and open a file being debugged or stepped, FusionDebug must be able to predict where the file is located on the server. This is done using the Source Code Lookup rules defined in the launch configuration dialog.
We have two support articles relating to configuring this information:
The following points should be borne in mind when setting up Source Code Lookup rules:
Your folder structure in Eclipse (from the project on down) must mirror that of the webserver from the folder that you have entered in the launch configuration. An exception to this is that FusionDebug will pick the most specific rule when it has a choice of rules.
There are several CF tags which are implemented as internal cfm files. In order to stop you from stepping into these encrypted cfm files we filter them out by name. If your file happens to be named the same as one of these files then it will not appear in FusionDebug.
The excluded filenames are as follows:
AbortException.cfm | ExpressionException.cfm |
AbortMessageException.cfm | FormValidationException.cfm |
AccessControlException.cfm | gettemplate.cfm |
ApplicationException.cfm | IllegalNumberFormatArgumentException.cfm |
cache.cfm | IllegalStructAccessException.cfm |
CFMLValidationException.cfm | IllegalTimeFormatArgumentException.cfm |
ClassCastException.cfm | LockException.cfm |
classic.cfm | MissingIncludeException.cfm |
ComplexObjectException.cfm | NoSuchFieldError.cfm |
component.cfc | NullPointerException.cfm |
CustomException.cfm | ObjectException.cfm |
DatabaseException.cfm | ParseException.cfm |
detail.cfm | savecontent.cfm |
dockable.cfm | TagInfoNotFoundException.cfm |
dreamweaver.cfm | TemplateException.cfm |
dump.cfm | TemplateNotFoundException.cfm |
errorcontext.cfm | trace.cfm |
Exception.cfm |
Since version 7, the ColdFusion Setup allows you to install ColdFusion as a SingleServer or MultiServer edition.
The latter allows you to run multiple cfusion servers. Per default all these servers share the same JVM configuration (jvm.config) which will let you run into problems when you have added the debugging configuration parameters required by FusionDebug.
We have a support article relating to configuring FusionDebug on MultiServer installations: FusionDebug on MultiServer Configurations
Type: | Technote |
---|---|
Issue Number: | FDS-4 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 13:15:32 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: |
I had previously installed the trial version and now get the message saying “This version of FusionDebug has expired. Please install a valid license.”
To install a license file:
You can also watch the video on installing licenses available from the following link: http://www.fusion-reactor.com/fd/captivates/?swf=automaticactivation
Type: | Technote |
---|---|
Issue Number: | FDS-81 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 31/05/2007 18:07:39 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | |
Platform: | |
Related Issues: | None |
Debugging a remote server is exactly the same as debugging a local server. Just remember that the path to the files on the server must be local to that machine, not shares. To get more information about setting up FusionDebug take a look at the new Training videos which are available from the website.
Type: | Technote |
---|---|
Issue Number: | FDS-98 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 22/05/2007 11:00:24 |
Affects Version: | |
Fixed Version: | |
Server: | |
Platform: | |
Related Issues: | None |
FusionDebug is implemented as an Eclipse plugin but you don’t have to use FusionDebug or Eclipse to edit pages, or change your development platform at all.
You can still develop with DW8 and jump into FusionDebug whenever you need to debug. FusionDebug is able to use your files from whatever software you used to create them; many of our users .
Eclipse is free, very easy to install and can be used in parallel to DW8. It is very simple to use and you require a minimum amount of knowledge to work the debugger which would be necessary no matter which platform you use.
As a side note, FusionDebug also integrates seamlessly with Adobe’s FlexBuilder product which is also based upon Eclipse and allows you to debug complete ColdFusion driven Flex Projects without having to leave FlexBuilder.
Further Information:
Type: | Technote |
---|---|
Issue Number: | FDS-84 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 01/06/2007 14:58:09 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | |
Related Issues: | None |
Error
FusionDebug could not connect to the target system (Localhost:8000). Please ensure the debug agent is listening on the system, check you configuration file.
Please follow the procedure given in the FDS – 92 linked below.
Consider the following points when installing:
Type: | Technote |
---|---|
Issue Number: | FDS-80 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 31/05/2007 16:54:18 |
Affects Version: | 1.0 |
Fixed Version: | 1.0 |
Server: | |
Platform: | MacOS |
Related Issues: |
FusionDebug can create breakpoints in any ColdFusion page, tag, component, module, webservice etc, in any folder on your server.
You must create a FusionDebug Launch Configuration that maps the files in your Eclipse or FusionDebug project(s) to where you actually place the code on the server. Each mapping describes where code is distributed to on the ColdFusion server machine and allows FusionDebug to work out the file actual place a breakpoint needs to be set on the server that runs the code.
For further information please read the article on Source Code Lookup
Type: | Technote |
---|---|
Issue Number: | FDS-77 |
Components: | Breakpoints |
Environment: | |
Resolution: | Fixed |
Added: | 31/05/2007 12:08:36 |
Affects Version: | 1.0 |
Fixed Version: | 2.0 |
Server: | ColdFusion 8, ColdFusion 6, ColdFusion 7 |
Platform: | |
Related Issues: | None |
FusionDebug is an interactive ColdFusion debugger and does indeed let you step through each line of code and step into CF components, functions, tags and includes. You can see exactly where you are in the code and can examine every variable, scope etc.
Take a look at the Captivates on this page to see what is possible:
Type: | Technote |
---|---|
Issue Number: | FDS-73 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 30/05/2007 16:59:11 |
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 |
The steps for remote debugging are as follows:
Note: The webserver folder must be an absolute file path from the root of your remote server and the port should be that entered in your jvm.config file.
For more detailed information on this, please refer to the following User Guide;
http://www.fusion-reactor.com/fd/helpdocs/fusiondebug_user_guide.pdf
Type: | Technote |
---|---|
Issue Number: | FDS-71 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 30/05/2007 14:53:03 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | ColdFusion 6, ColdFusion 7 |
Platform: | Solaris, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: |
FusionDebug is supported to debug against the following ColdFusion versions:
Standalone, J2EE and multiserver installs are all supported.
FusionDebug as a client is supported by installers on the following platforms:
Additionally, it may be possible to install on other platforms using the FusionDebug Eclipse Update Site, available from here.
If you are using an already-installed Eclipse installation, we also provide plugin installers (see link above). Eclipse is supported from revision 3.2.2 onwards.
Type: | Technote |
---|---|
Issue Number: | FDS-52 |
Components: | |
Environment: | |
Resolution: | Fixed |
Added: | 18/05/2007 14:41:26 |
Affects Version: | 2.0 |
Fixed Version: | 2.0 |
Server: | ColdFusion 6, ColdFusion 7 |
Platform: | Solaris, MacOS, Linux, Windows 2003, Windows 2000, Windows XP |
Related Issues: | None |