在as3裡取得函數呼叫者資訊

補充:這個方法只可以在flash player的debugger版本可用,
因為在一般非debugger的player無法用”e.getStackTrace()”來抓取歷史資訊

再補充:非debugger的版本只需在flex的compiler arguments裡加上

這串參數,就會可以正確的取得”e.getStackTrace()”的值了!

如果我們在某個函數兩要知道有關傳進的參數的相關資訊
可以使用arguments去取得

下面網址有介紹arguments的使用方式
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/arguments.html

但是過去在as2裡,arguments可以用caller去知道呼叫此函數的地方
在as3裡,卻將此一屬性拿掉了。
那我們在as3裡該如何知道是誰呼叫了這個函數呢?

我在一個別人的部落格裡找到一個別人寫好的解法
是先丟出一個錯誤訊息,然後去getStackTrace(),再去解析之前呼叫者的資訊

原始部落格在此
Looking up the calling function

原始碼如下: