the path of the products variable in the Variables view, and I can see that it is indeed a CFC. If
I expand it, I can see various metadata, such as the actual le path where the CFC exists. This
can be powerful information when you’re trying to understand your location in a complex,
multi-le environment.
Since the next line of code is a call to a CFC method, we can follow the ow of execution into
that le. We can also do this with custom tags, included les, and so on. If we were to use
Step Into, the icon just to the left of Step Over, then the debugger would open product.cfc
(in the location indicated in Figure 7) and stop at the rst line of CFML within that.
You could use the Step Return button to execute the current le without further stepping.
When you’ve stepped into a le, it will run the remainder of the le that was stepped into
(unless there were any remaining breakpoint in the le) and then stop before execution of
the next line of CFML code in the calling page. The Step Return button is enabled in Figure
6, and is to the right of Step Over and Step Into.
The left-most of those icons, which looks like a green arrow, is called Resume. It would let
the request run to completion unless it hit another breakpoint.
Stopping on an Error
It’s great to set a breakpoint and stop on a particular line of code, but sometimes you don’t
know exactly where you’re getting an error. Is it possible to get the debugger to stop when
an error is reached? Yes! Simply enable the option “Break on a CFML runtime exception”
in the Eclipse interface’s Window > Preferences > ColdFusion > Debug Settings. I’ve had
mixed success with this feature: sometimes it doesn’t stop when an error occurs. It could be
a problem of conguration on my system, so your mileage may vary.
And Still Much More…
There’s a lot more to show, but this should be enough to whet the whistle of those who
haven’t explored a debugger before.
Conguration and Security
A few conguration and security issues ought to at least be mentioned. Three conguration
pages in the Eclipse interface are devoted to the CF8 debugger or related features.
Window>Preferences, and from that dialogue, choose the ColdFusion section to nd the
Debug Mappings, Debug Settings, and RDS Conguration pages.
Conguring RDS in both Eclipse and ColdFusion’s Admin
I mentioned that the CF8 debugger relies on ColdFusion’s RDS security. RDS (or Remote
Development Services) is the same feature used to control access to les, databases, and
CFCs on a ColdFusion server when they are accessed from editors like ColdFusion Studio,
HomeSite+, Dreamweaver, and Eclipse (with the Adobe Eclipse extensions).
ColdFusion must be congured to support RDS. Further, you need to understand the form
of RDS authentication enabled for your ColdFusion server, as you’ll need to provide that
information in the RD Conguration interface in Eclipse. The ColdFusion Administrator
page, Security > RDS > RDS Authentication, determines the RDS authentication to be used
for that server.
If the “No authentication is needed” option is set, then no password is required. Of course this
conguration is dangerous if your server is accessible over any network, intranet or internet.
If the option is set to “Use a single password only”, then you would provide in the Eclipse setting
whatever password is dened as the RDS Single Password option on the server.
94 Tools The Fusion Authority Quarterly Update
Comentarios a estos manuales