Why don't my breakpoints fire?
Description
Open projects
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:
Breakpoint is optimised away
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.
FusionDebug can't find the source code
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:
- Breakpoints Don't Fire: Setting Webserver Folder and Eclipse Project Structure and
- My Breakpoints Don't Fire: Setting up a Debug Configuration.
The following points should be borne in mind when setting up Source Code Lookup rules:
- These rules must be accurate for breakpoints to fire
- You can test the rule by entering it, setting a breakpoint in a file and connecting FusionDebug to the ColdFusion Server
- The Server File text of the breakpoint in the Breakpoints View will reflect where FusionDebug expects to find the file on the server.
- If it's not correct, simply open the Source Code Lookup tab in the launch configuration and examine the rules for correctness.
- When entering these rules, the CF Server Folder is the location of the file as seen by the server, not the client. Do not use the name of a share, for example. If you are on a Unix-like system, you must use absolute paths instead of symbolic links.
- The checkbox "CF Server is on Windows" on the Conenct tab of the launch configuration must be set accurately. It need only be checked on Windows. All other platforms should leave it unchecked.
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.
Name conflict with CF tag
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 |
You are using a Multiserver installation of ColdFusion:
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
Issue Details
| 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 7, ColdFusion 6, ColdFusion 8 |
| Platform: | Windows XP, Windows 2000, Windows 2003, Linux, MacOS, Solaris |
| Related Issues: |
Issue Feedback
Did you find this issue helpful?
1 out of 2 people found this article helpful

