Using the Code Analyzer
The
Code Analyzer has two purposes:
It can validate the CFML syntax of your application.
To do so, the analyzer runs the ColdFusion compiler on your pages,
but does not execute the compiled code. It reports errors that the
compiler encounters.
It provides information about the incompatibility (and its
severity), and suggests a remedy where one is required.
It can identify places where ColdFusion might behave differently
than previous versions. The analyzer identifies the following kinds
of features:
No longer supported: Their use
results in errors. For example, the closable attribute is not supported
for the tag cflayoutarea in border layout (cflayout with type="border").
Deprecated: They are still available, but their use
is not recommended and they might not be available in future releases.
Deprecated features might also behave differently now than in previous
releases. For example, in cfcache tag the following attributes are
deprecated: directory, cachedirectory, port,
and protocol.
Modified behavior: They might behave differently than
in previous versions. For example, if you use cfcache tag in ColdFusion
9 without end tag (</cfcache>), then instead
of caching only the current page (which was the behavior in the
previous releases), the entire request is cached.
New: These are features newly added to ColdFusion
9. For example, if you use throw as a user-defined
function in a CFM, analyzer informs that throw is
a built-in ColdFusion function and suggests you to rename. If you use throw as
a user-defined function in a CFC, analyzer informs that throw is
a built-in function and suggests you to prefix it with object scope.
For more details on new features, see example, What’s New in ColdFusion 9.
You can run the Code Analyzer from the ColdFusion Administrator.
Select Code Analyzer from the list of Debugging & Logging pages.
Note: The Code analyzer does not execute the pages
that it checks. Therefore, it cannot detect invalid attribute combinations
if the attribute values are provided dynamically at runtime.