2011-11-11 35 views
4

有關於0型,1型和2型蹦牀和如何配置Monotouch以查看在運行時創建的蹦牀數量(按類型)?

運行時錯誤相當多的帖子「跑出來的蹦牀的」在iOS設備上

在AOT交叉編譯過程中,我已經很好地理解了如何增加不同蹦牀類型的數量,但是,當我們在運行時遇到天花板時,我開始隨意增加分配。

我最近添加了一個接收幾個Func<>參數的組件,該組件的大多數用戶正在匿名創建Func<>代表。我的假設是,儘管我可以預期每個匿名代表都會導致創建一個蹦牀,但我似乎正在觀察的行爲是,不是重複使用該蹦牀,而是繼續創建類型0(ntrampoline [方法蹦牀])一次執行匿名委託。

什麼將是非常有幫助的是一種工具或API調用,讓我來監視,記錄或運行時分析的應用程序,以觀察蹦牀創作。

上側任何指導意見我們也將不勝感激代表一般代表或匿名代表使用的效果。

感謝您在正確方向的任何提示上。

問候, 凱文·費龍

回答

3

最好的辦法是問這樣的(非常具體)問題的mono-devel郵件列表,即有幾個問題(和建議WRT分析),這將使它很難在這裏回答(即使它可以正確標記)。

我假設你已經閱讀下面的鏈接(但他們可能會幫助人們對蹦牀有所瞭解)。

您也可以從單聲道使用得到一些統計- 統計選項。例如。

mono --stats myapp.exe 

... 
JIT statistics 
Unwind info size     : 198 
Calls to trampolines    : 626 
JIT trampolines      : 416 
Unbox trampolines     : 1 
Static rgctx trampolines   : 1 
... 

然而,當AOT使用(很多不同的東西),並在那裏你不控制應用程序的執行也不會幫助你在MonoTouch的背景。