29

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

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

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

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

4

7 に答える 7

43

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

ColdFusion 9(およびそれ以降)がこのwriteDump()機能を提供します。

WriteDump()関数のAdobeドキュメントリンク

于 2009-05-19T16:56:31.950 に答える
32

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

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

于 2011-01-17T20:34:42.533 に答える
5

次のことははるかに簡単で簡単ではありませんか?

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

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

于 2012-02-17T22:02:46.943 に答える
3

自分で書くのもかなり簡単でしょう。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>
于 2009-05-22T20:06:51.403 に答える
3

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

<cfscript>
    cfdump (var=#myVar#);
</cfscript>
于 2015-10-17T02:55:34.390 に答える
2
<cffunction name="setAbort" access="private" returntype="void" output="false">
 <cfdump var="#arguments#"/><cfabort>
</cffunction>
于 2009-05-26T17:33:17.490 に答える
-2

ダンプには、Writedump(myvar);を使用します。cfscriptの代わりに、同じようにabortを使用します。任意のインスタンスでプログラムの実行を終了する代わりに、writeoutput();を使用します。それ以外の

 <cfoutput>#myvar#</cfoutput>

以下は、cfscriptでのダンプとアボートのコードです。

writedump(myvar); for dump

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript
于 2014-01-10T17:05:24.080 に答える