문제

디버그하기 위해 특정 변수를 내 웹 페이지에 덤프하고 싶습니다. CFScript 태그 내부에서 어떻게 할 수 있습니까?

다음을 시도했지만 작동하지 않습니다.

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

무엇을 할 수 있는지에 대한 단서가 있습니까?

도움이 되었습니까?

해결책

CF 9 이전 버전에서 직접 할 수는 없습니다. 그러나 사용할 수 있습니다. 덤프() CFLIB에서 발견 된 UDF. 직접 CFScript 등가가없는 CF 태그를 모방하는 UDF의 전체 라이브러리가 있습니다.

ColdFusion 9 (및 UP)가 제공합니다 writeDump() 기능.

Adobe Documentation Linkfor Writedump () 기능

다른 팁

writeoutput ()를 사용하는 방법처럼 writedump ()를 사용

보다 Writedump CF 9 참조

다음이 훨씬 쉽고 간단하지 않습니까?

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

그것은 CF7과 앞으로, 아마도 더 일찍 작동합니다.

자신의 글을 쓰는 것은 매우 쉬울 것입니다. 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>

이제 cfscript 내에서 허용되는 일반 태그 이름 11

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

덤프의 경우 Writedump (Myvar)를 사용합니다. CFScript 대신에 동일하게 우리는 중단을 사용합니다. 모든 인스턴스에서 프로그램 실행을 종료하는 대신 writeoutput ()을 사용합니다. 대신에

 <cfoutput>#myvar#</cfoutput>

아래는 CFScript에서 덤프 및 중단 코드입니다.

writedump(myvar); for dump

abort; for stop execution of programm 

writeoutput(myvar); for output within cfscript
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top