How to do a cfdump inside a cfscript tag?

31,086

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>
Share:
31,086
Arnkrishn
Author by

Arnkrishn

Updated on July 23, 2020

Comments

  • Arnkrishn
    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?