2009-05-19 2 views
26

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

私は次のことを試してみましたが、それは動作していない:

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

何ができるか上の任意の手がかりを?

+0

開始のCFScript内で許可さプレインタグ名:http://stackoverflow.com/questions/1917706/cfdump-cfcomponent-cfscript/1917756 – ale

答えて

39

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

ColdFusion 9(以降)は、writeDump()機能を提供します。

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> 
2
<cffunction name="setAbort" access="private" returntype="void" output="false"> 
<cfdump var="#arguments#"/><cfabort> 
</cffunction> 
29

使用writeDump()のような、あなたはどのように使用するかのWriteOutput()

はCF 9参照の上writeDumpを参照してください

+0

これがために完璧に動作しますこれまでのすべての状況で私。 – JimP

5

がはるかに簡単でわかりやすい以下ではないですか?

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

これはCF7以降で動作します。

-2

ダンプの場合は、Writedump(myvar)を使用します。 cfscriptではなく、同じものを使用します。任意のインスタンスでプログラムの実行を終了する代わりに、私たちはwriteoutput()を使用します。

<cfoutput>#myvar#</cfoutput> 

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

writedump(myvar); for dump 

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript 
2

今のColdFusion 11強く関連

<cfscript> 
    cfdump (var=#myVar#); 
</cfscript> 
関連する問題