How to do a cfdump inside a cfscript tag?
Solution 1
You can't do it directly like that in versions before CF 9. You can, however, use the dump() UDF found at CFLib. There's a whole library of UDFs there that mimic CF tags that don't have direct CFSCRIPT equivalents.
ColdFusion 9 (and up) offers the writeDump()
function.
Adobe Documentation Linkfor WriteDump() function
Solution 2
use writeDump() like how you use writeOutput()
see writeDump on CF 9 reference
Solution 3
Isn't the following much easier and straightforward?
oAdmin = createObject("component", "cfide.adminapi.base");
oAdmin.dump(myVar);
It works on CF7 and forward, perhaps even earlier.
Solution 4
It would be fairly easy to write your own too. You just define a function in cfml rather than cfscript. You can use this to do cfaborts and cfloops as well.
Something like this (Off the top of my head...not executed).
<CFFUNCTION NAME="MyDump">
<CFARGUMENT NAME="OBJ" Required="TRUE">
<CFDUMP VAR="#Obj#">
</CFFUNCTION>
<CFSCRIPT>
if(cgi.REMOTE_ADDR eq "IP"){
MyDump(Var1);
}
</CFSCRIPT>
Solution 5
Now plain tag names allowed within cfscript starting ColdFusion 11
<cfscript>
cfdump (var=#myVar#);
</cfscript>
Arnkrishn
Updated on July 23, 2020Comments
-
Arnkrishn almost 4 years
In order to debug I would like to dump certain variables on to my web page. How can I do that from inside a cfscript tag?
I tried the following but it isn't working:
<cfscript> ... <cfif cgi.REMOTE_ADDR eq "IP"> <cfdump var="#var1#"><br/> </cfif> ... </cfscript>
Any clues on what can be done?