2009-05-19 16 views
26

Para depurar me gustaría descargar ciertas variables en mi página web. ¿Cómo puedo hacer eso desde dentro de una etiqueta cfscript?¿Cómo hacer un cfdump dentro de una etiqueta cfscript?

He intentado lo siguiente pero no está trabajando:

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

Alguna pista sobre qué se puede hacer?

+0

fuertemente relacionada: http://stackoverflow.com/questions/1917706/cfdump-cfcomponent-cfscript/1917756 – ale

Respuesta

39

No puede hacerlo directamente así en versiones anteriores a CF 9. Sin embargo, puede utilizar el dump() UDF que se encuentra en CFLib. Hay una biblioteca completa de UDF allí que imitan las etiquetas CF que no tienen equivalentes CFSCRIPT directos.

ColdFusion 9 (y más) ofrece la función writeDump().

3

Sería bastante fácil escribir el suyo también. Usted simplemente define una función en cfml en lugar de cfscript. Puede usar esto para hacer cfaborts y cfloops también.

Algo como esto (fuera de la cabeza ... no se ejecutó).

<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() como la forma de utilizar writeOutput()

ver en writeDump CF 9 referencia

+0

Esto funciona perfectamente para yo en todas las situaciones hasta ahora. – JimP

5

No es el siguiente mucho más fácil y sencillo?

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

Funciona en CF7 y reenvía, quizás incluso antes.

-2

Para volcar utilizamos Writedump (myvar); en lugar de en cfscript y lo mismo usamos abortar; en lugar de para salir de la ejecución del programa en cualquier instancia. usamos writeoutput(); en lugar de

<cfoutput>#myvar#</cfoutput> 

a continuación se muestra el código de volcado y cancelación en cfscript.

writedump(myvar); for dump 

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript 
2

nombres de etiquetas Ahora lisos permitidos dentro cfscript a partir de ColdFusion 11

<cfscript> 
    cfdump (var=#myVar#); 
</cfscript> 
Cuestiones relacionadas