2009-05-19 12 views
26

Per eseguire il debug, desidero scaricare determinate variabili nella mia pagina Web. Come posso farlo dall'interno di un tag cfscript?Come fare un cfdump all'interno di un tag cfscript?

Ho provato quanto segue, ma non funziona:

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

Degli indizi su cosa si può fare?

+0

fortemente correlati: http://stackoverflow.com/questions/1917706/cfdump-cfcomponent-cfscript/1917756 – ale

risposta

39

Non è possibile farlo direttamente nelle versioni precedenti a CF 9. Tuttavia, è possibile utilizzare l'UDF dump() trovato su CFLib. C'è un'intera libreria di UDF che imita i tag CF che non hanno equivalenti CFSCRIPT diretti.

ColdFusion 9 (e versioni successive) offre la funzione writeDump().

3

Sarebbe abbastanza facile scrivere anche tu. Basta definire una funzione in cfml piuttosto che in cfscript. Puoi usarlo anche per fare cfaborts e cfloops.

Qualcosa come questo (in cima alla mia testa ... non eseguito).

<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

uso writeDump() come come si usa writeOutput()

vedere writeDump sulla CF 9 riferimento

+0

Questo funziona perfettamente per me in tutte le situazioni finora. – JimP

5

non è la seguente molto più facile e semplice?

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

Funziona su CF7 e avanti, forse anche prima.

-2

Per il dump usiamo Writedump (myvar); invece di cfscript e lo stesso usiamo abortire; invece di uscire dall'esecuzione del programma in qualsiasi istanza. usiamo writeoutput(); invece di

<cfoutput>#myvar#</cfoutput> 

sotto è il codice per la discarica e interrompere in cfscript.

writedump(myvar); for dump 

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript 
2

nomi dei tag Ora pianura ammessi all'interno cfscript partire ColdFusion 11

<cfscript> 
    cfdump (var=#myVar#); 
</cfscript> 
Problemi correlati