代码之家  ›  专栏  ›  技术社区  ›  Arnkrishn

如何在cfscript标记内执行cfdump?

  •  27
  • Arnkrishn  · 技术社区  · 17 年前

    为了调试,我想将某些变量转储到我的网页上。如何从cfscript标记内部执行此操作?

    我尝试了以下方法,但不起作用:

    <cfscript>
      ...
      <cfif cgi.REMOTE_ADDR eq "IP">
        <cfdump var="#var1#"><br/>
      </cfif>
      ...
    </cfscript>
    

    有什么线索吗?

    7 回复  |  直到 7 年前
        1
  •  42
  •   Heemanshu Bhalla    7 年前

    在CF 9之前的版本中,您不能直接这样做。但是,您可以使用 dump() 在cflib中找到了udf。这里有一个完整的UDF库,模拟没有直接cfscript等价物的cf标记。

    ColdFusion 9(及以上)提供 writeDump() 功能。

    Adobe文档链接 WriteDump() 功能

        2
  •  31
  •   Heemanshu Bhalla    7 年前

    使用writedump()就像使用writeoutput()一样

    看见 writeDump 关于CF 9参考

        3
  •  5
  •   Javier Albinarrate    14 年前

    下面的内容是否简单明了?

    oAdmin = createObject("component", "cfide.adminapi.base");
    oAdmin.dump(myVar);
    

    它在CF7和Forward上工作,甚至更早。

        4
  •  3
  •   Tom Hubbard    17 年前

    写自己的也很容易。您只需在cfml中定义一个函数,而不是cfscript。您也可以使用它来执行cfaborts和cfloops。

    像这样的(从我的头上……不执行)。

    <CFFUNCTION NAME="MyDump">
        <CFARGUMENT NAME="OBJ" Required="TRUE">
        <CFDUMP VAR="#Obj#">
    </CFFUNCTION>
    <CFSCRIPT>
      if(cgi.REMOTE_ADDR eq "IP"){
        MyDump(Var1);
      }
    </CFSCRIPT>
    
        5
  •  3
  •   master-lame-master    10 年前

    现在,cfscript中允许使用普通的标记名来启动coldfusion 11

    <cfscript>
        cfdump (var=#myVar#);
    </cfscript>
    
        6
  •  2
  •   dbinott    17 年前
    <cffunction name="setAbort" access="private" returntype="void" output="false">
     <cfdump var="#arguments#"/><cfabort>
    </cffunction>
    
        7
  •  -2
  •   Rizwan Gill    12 年前

    对于dump,我们使用writedump(myvar);而不是在cfscript中,同样,我们使用abort;而不是在任何实例中退出程序的执行。我们使用writeoutput();而不是

     <cfoutput>#myvar#</cfoutput>
    

    下面是cfscript中的dump和abort代码。

    writedump(myvar); for dump
    
    abort; for stop execution of programm 
    
    writeoutput(myvar); for output within cfscript
    
    推荐文章