I ran into an interesting change in ColdFusion 2018 with regard to <cfdump>
The output produced by <cfdump> suddenly lacked formatting and any ability to collapse the tree nodes.
This sample code:
<cfcomponent> <cffunction name="test" access="public" returntype="any" output="false"> <cfset var test = structNew()> <cfset test.var1 = "Var1Value"> <cfset test.var2 = "Var2Value"> <cfset test.var3 = "Var3Value"> <cfdump var="#test#"><cfabort> </cffunction> </cfcomponent>
Produces this output:
The above is just an example, but dumping anything remotely complex such as a query or CFC resulted in near unreadable output.
As I do with any seemingly odd ColdFusion behavior I start searching for others experiencing the same behavior.
There’s not much out there.
What is available is very dated and not applicable to my problem.
With nothing much to go on I researched and tried many possibilities until I stumbled on the solution.
The problem seems to be with how ColdFusion 2018 is now using or interpreting the output attribute of <cffunction>.
I’ve always set it to FALSE by default as I typically want my functions to RETURN output rather than produce it.
Simply changing the value to TRUE (or omitting) shows the correctly formatted output:
I guess just another odd quirk in ColdFusion 2018.
A side effect of output="true" or not setting the attribute is that calling the function inside a <cfoutput> tag will produce proceeding spaces.
Add output="false" after debugging or switch to cfscript.
An information technology professional with twenty three years experience in systems administration, computer programming, requirements gathering, customer service, and technical support.