web-dev-qa-db-ja.com

cfscriptタグ内でcfdumpを実行するにはどうすればよいですか?

デバッグするために、特定の変数を自分のWebページにダンプしたいと思います。 cfscriptタグ内からそれを行うにはどうすればよいですか?

次のことを試しましたが、機能しません。

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

何ができるかについての手がかりはありますか?

27
Arnkrishn

CF 9より前のバージョンでは、このように直接行うことはできません。ただし、CFLibにある dump() UDFを使用することはできます。直接CFSCRIPTに相当するものがないCFタグを模倣するUDFのライブラリ全体があります。

ColdFusion 9(以降)はwriteDump()関数を提供します。

Adobe Documentation Linkfor WriteDump() 関数

42
ale

writeOutput()の使用方法と同じようにwriteDump()を使用します

cF 9リファレンスの writeDump を参照してください

31
Seeker

以下ははるかに簡単で簡単ではありませんか?

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

CF7以降、おそらくそれ以前でも機能します。

5

現在、ColdFusion11以降のcfscript内でプレーンタグ名が許可されています

<cfscript>
    cfdump (var=#myVar#);
</cfscript>
3
84RR1573R

自分で書くのもかなり簡単でしょう。関数は、cfscriptではなくcfmlで定義するだけです。これを使用して、cfabortsおよびcfloopsを実行することもできます。

このようなもの(頭のてっぺんから...実行されていません)。

<CFFUNCTION NAME="MyDump">
    <CFARGUMENT NAME="OBJ" Required="TRUE">
    <CFDUMP VAR="#Obj#">
</CFFUNCTION>
<CFSCRIPT>
  if(cgi.REMOTE_ADDR eq "IP"){
    MyDump(Var1);
  }
</CFSCRIPT>
3
Tom Hubbard
<cffunction name="setAbort" access="private" returntype="void" output="false">
 <cfdump var="#arguments#"/><cfabort>
</cffunction>
2
dbinott