だから今3つの方法。
ColdFusion 9.0 以降を使用している場合は、GetFunctionCalledName() という名前の関数が追加されました。それはあなたが探しているものを返します。
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WS7cc222be8a31a47d-6e8b7083122cebfc8f2-8000.html
また
これを処理するには、ColdSpring と Aspect Oriented Programming ( http://www.coldspringframework.org/coldspring/examples/quickstart/index.cfm?page=aop ) を使用してください。
また
cfthrow を使用して、情報を含むスタック トレースを生成します。
<cffunction name="determineFunction" output="FALSE" access="public" returntype="string" hint="" >
<cfset var functionName ="" />
<cfset var i = 0 />
<cfset var stackTraceArray = "" />
<cftry>
<cfthrow />
<cfcatch type="any">
<cfset stacktraceArray = ListToArray(Replace(cfcatch.stacktrace, "at ", " | ", "All"), "|") />
<!---Rip the right rows out of the stacktrace --->
<cfloop index ="i" to="1" from="#ArrayLen(stackTraceArray)#" step="-1">
<cfif not findNoCase("runFunction", stackTraceArray[i]) or FindNoCase("determineFunction", stackTraceArray[i])>
<cfset arrayDeleteAt(stackTraceArray, i) />
</cfif>
</cfloop>
<!---Whittle down the string to the func name --->
<cfset functionName =GetToken(stacktraceArray[1], 1, ".") />
<cfset functionName =GetToken(functionName, 2, "$")/>
<cfset functionName =ReplaceNoCase(functionName, "func", "", "once")/>
<cfreturn functionName />
</cfcatch>
</cftry></cffunction>
getFunctionCalledName を使用することをお勧めします。CF 9 ColdSpring を使用していない場合は、他のものを購入できる可能性があります。