2011-03-26 56 views
13

我正在嘗試使用工具來查看我的Monotouch應用程序中的資源使用情況。但是,我無法通過樂器啓動應用程序。爲什麼儀器不能執行我的Monotouch應用程序?

當我打的儀器記錄按鈕,應用程序在我的iPhone推出,熱鬧非凡(表示這是一個調試版本),然後崩潰 - 和儀器報道:

Target failed to run: Remote exception encountered : 'Failed to get task for pid 384' 

該應用程序運行正常,當我啓動它直接在手機上。

我試過它與調試版本和臨時版本(使用Monotouch support page上定義的參數)。總是一樣。

我使用Monotouch 3.2.5,iOS 4.3.1(在3GS上),Xcode 4和Snow Leopard。

我已經看到這個問題在網絡上的一些地方提到過,但還沒有看到解決方案。任何人都知道如何解決它?

回答

17

這是一個簽名問題:在Instruments的控制下運行,應用程序使用發佈版本設置進行編譯,而不是調試版本設置,這通常意味着應用程序使用分發證書而不是開發人員證書籤名。 應用程序需要使用Instruments的開發人員證書籤名才能控制它。 在發佈版本上將簽名選項更改爲開發人員,您應該沒問題。

0

從XCode內部啓動儀器如何?如果您使用的是Xcode 3,則它位於「生成」菜單中,然後使用性能工具運行。這將啓動樂器並自動開始錄製。

+0

我正在使用MonoTouch,因此代碼位於不同的IDE(MonoDevelop)中。 – dommer 2011-03-30 12:45:10

+0

對不起,完全錯過了標題中的Monotouch參考。 – detra83 2011-03-30 22:08:42

2

檢查您的Entitlements.plist簽名的應用程序。如果get-task-allowfalse,則會阻止儀器附加到該過程。

3

我也遇到了這個問題,在Xcode 4.什麼工作對我來說是......

在Xcode 4中,連接的iOS設備上運行。 手動啓動儀器應用程序。 選擇我的模板(在這種情況下爲TIme Profiler)。 從目標菜單中選擇我的應用程序(在錄製按鈕的右側)。 單擊錄製按鈕。

建議的權利解決方案並不適用於我(因爲權利顯然不再需要在Xcode 4中)。

建議的簽名解決方案也不起作用。此外,每次我想用儀器進行測試時都會改變這一點,這很不方便。

相關問題