iOS 除錯工具

2022-06-02 08:18:07 字數 2616 閱讀 9590

xcode5 引入了除錯儀表,通過儀表可以直觀的看出應用的cpu和記憶體佔用量。執行乙個程式,點選儀表欄。可以發現當程式處於執行狀態時,除錯導航面板會以柱狀圖顯示cpu和記憶體佔用量,並隨著應用實時更新佔用量資料。需要注意的是,除錯導航面板中的資料是根據應用的硬體計算出來的,蘋果電腦的cpu比ios裝置更快,如果在ios模擬器上執行應用,除錯導航面板中顯示的cpu贊用量可能非常低,不低於分析效能問題。

點選cpu可以在編輯區域開啟cpu佔用量報告。

根據執行應用裝置的cpu核心數顯示cpu占用比。例如,單核裝置中最大cpu佔用量是100%,而對雙核裝置中是200%,所以應用在單核裝置中的cpu佔用量通常比雙核裝置更高。如果應用處於空閒狀態(進入後台活沒有操作),cpu佔用量會顯示0%。

使用環比圖比較應用與系統中其他程序(process)的cpu占用百分比。如果應用的cpu占用百分環比不高,但是執行不通暢,那麼可以從該環形圖中檢視other processes的占用百分比。如果裝置中後台執行的其他應用太多 ,就可能導致other processes的占用百分比很高,應用執行速度變慢。

使用折線圖顯示應用cpu佔用量隨執行時間變化的過程,以及佔用量在執行時間內的峰值和谷值。

顯示應用中每乙個執行緒的時間-占用比。

接下來我們開啟我們應用 jxtouchtracker

,用手指在應用中繪製線條,手指不要離開螢幕,持續繪製大量線條可以發現應用的cpu占用比迅速公升高-手指在螢幕上移動時,jxdrawview會不斷收到 touchesbegan:(nsset*)touches withevent:(uievent *)event

訊息並呼叫 drawrect:(cgrect)rect 重繪自己。繪製的線條越多, drawrect:(cgrect)rect 的工作量就越大,cpu占用比就越高。

回到吊事導航面板,點選memory,開啟記憶體佔用量報告,如圖:

和cpu佔用量報告類似,記憶體佔用量報告直接的顯示了應用記憶體占用的情況,但是memery部分(位於最下方)顯示的折線圖可能會讓我們誤解:應用似乎始終占用了100%的記憶體。實際上,途中將執行時間內的占用峰值作為100%顯示,因此途中y周的最大值與左側high欄中顯示的數值相同都是58.2mb。

無論開發何種型別的應用,都應該盡可能降低cpu和記憶體佔用量,提高應用的流暢度和使用者體驗。

從儀表和佔用量報告中可以簡要分析出應用的效能,但是,如果應用的cpu和記憶體佔用量過高,需要從**中查詢效能問題,則可以使用 instruments ,他提供了比儀表和佔用量報告更詳細的資料分析。

instruments 是一中與xcode緊密整合的除錯工具,可以實時監控並統計應用執行時的各項資料,生成詳細的分析報告。它由若干元件組成,這些元件檢查的事項包括:應用建立了那些物件,每乙個方法和函式的cpu佔用量、檔案i/o和網路i/o等。通過使用這些不同的元件,可以找出程式中的效能瓶頸,發現**中的問題。

allocations 元件可以列出應用建立過的全部對此昂,以及這些物件所占用的記憶體大小。

當監視某個應用時, allocations 元件會對這個應用進行效能分析。雖然可以在模擬器上對某個應用進行效能分析,但是在真是的裝置上進行可以得到更精確的資料。

要對當前開啟的專案執行效能分析,可以按住位於坐上角的run按鈕不放,然後在新出現的彈出視窗中選擇profile

xcode會啟動 instruments 。 instruments 會顯示乙個下拉視窗並列出所有可用的元件。選中 allocations 。之後 instruments 會啟動應用並開啟 instruments 的主視窗。

allocations 元件會顯示一張**,流出應用 執行過的所有記憶體分配。因為資料比較多,所以先過濾,只列出由我們自己編寫的**建立的物件。首先在jxdrawview物件上畫若干線條。然後在視窗category查詢框中輸入jxline

allocations 元件會過濾  object summary **所顯示的條目,只列出和jxline右端的記憶體分配,即我們自己建立的jxline物件。

#persistent 列會顯示某種物件的現存個數。 persistent bytes 列會顯示這些現存物件占用了多少記憶體。 # total 列會顯示應用執行至今共建立了多少個某種型別的物件(其中包括已經釋放的物件)。

iOS 測試工具reveal視覺化除錯工具的使用

官方有好幾種方法,這裡主要推薦兩種方法。一.打斷點 此方法只對模擬器有效果,真機請看方法二 01 開啟專案之後,來到打斷點介面。add symbolic breakpoint.02 edit breakpoint中輸入一下資訊 03 在斷點右擊 選user 04 執行專案,在模擬器的專案就可以在re...

除錯工具 之Python除錯工具pycharm

1 pycharm的安裝 pycharm是一款非常好用的python ide,提供專業版和社群版,就像eclipse和myeclipse一樣,專業版是收費的,而社群版是免費的但功能就沒有專業版的功能強大。1.2 安裝 這裡就不必細說,直接next就ok ps 安裝完成後一定要執行 1.3 破解 採用...

iOS 裝置的網頁除錯工具 Firebug

firebug 本身是一款 firefox 瀏覽器的知名外掛程式,能夠用於除錯網頁,支援 html css 等網頁語言。firebug 可以在 ie firefox opera safari 等多款瀏覽器平台上使用,有的人甚至將其冠以 網頁除錯利器 的名頭。1 在 ios 裝置的 safari 瀏覽...