Pergunta

Para depurar gostaria de despejar algumas variáveis ??sobre a minha página web. Como posso fazer isso de dentro de um tag cfscript?

Eu tentei o seguinte, mas ele não está funcionando:

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

Qualquer pistas sobre o que pode ser feito?

Foi útil?

Solução

Você não pode fazê-lo diretamente como que em versões anteriores CF 9. Você pode, entretanto, usar o href="http://cflib.org/udf/Dump" rel="nofollow noreferrer"> despejo UDF encontrada em CFLib. Há toda uma biblioteca de UDFs lá que as tags CF imitam que não têm equivalentes cfscript diretos.

ColdFusion 9 (e acima) oferece a função writeDump().

Adobe Documentação Linkfor WriteDump () função

Outras dicas

uso writeDump () como a forma como você usa writeOutput ()

writeDump em 9 CF de referência

Não é o seguinte muito mais fácil e simples?

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

Ele funciona em CF7 e para a frente, talvez até antes.

Seria bastante fácil de escrever o seu próprio também. Você acabou de definir uma função em CFML em vez de cfscript. Você pode usar isso para fazer cfaborts e cfloops bem.

Algo assim (Em cima da minha cabeça ... não executado).

<CFFUNCTION NAME="MyDump">
    <CFARGUMENT NAME="OBJ" Required="TRUE">
    <CFDUMP VAR="#Obj#">
</CFFUNCTION>
<CFSCRIPT>
  if(cgi.REMOTE_ADDR eq "IP"){
    MyDump(Var1);
  }
</CFSCRIPT>

nomes de tags Agora planície permitidos dentro cfscript ColdFusion começando 11

<cfscript>
    cfdump (var=#myVar#);
</cfscript>
<cffunction name="setAbort" access="private" returntype="void" output="false">
 <cfdump var="#arguments#"/><cfabort>
</cffunction>

Para despejo usamos Writedump (myvar); em vez de em cfscript e mesmo uso que abortar; em vez de para a saída da execução de programa a qualquer writeoutput uso instance.we (); em vez de

 <cfoutput>#myvar#</cfoutput>

abaixo é o código para despejo e abort em cfscript.

writedump(myvar); for dump

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top