簡體   English   中英

使用iPhone應用程序進行Xcode調試既緩慢又滯后

[英]Xcode debug with iPhone app is slow and laggy

我正在調試我正在用Xcode編寫的iPhone應用程序,但有時現在調試器(它是GDB)減慢了很多(進行逐步調試)並且有時變得沒有響應(踩踏,踩踏的圖標 - 結束,踩出是不可點擊的),有時它恢復正常並繼續,有時它永遠保持這樣或控制台中出現一條消息:“超時”(或類似的東西),我可以看到我的CPU活動監控率高達90%。 作為一種解決方法,我曾經在我感興趣的代碼行之后添加了一個brekpoint,並簡單地使用'Continue'來'繼續'(這樣做它運行得非常好而且快速)。 這可能是代碼依賴的嗎? 有沒有辦法調試調試器(行為)?

更新 :完整的消息是

Timed out fetching data. Variable display may be inaccurate.

谷歌搜索它我發現它發生在Xcode gdb試圖查看數據格式化程序時。 有人建議禁用運行>變量視圖>使用數據格式化程序(在xcode 3.2中,以前我猜它是Debug->變量視圖 - >啟用數據格式化程序)它似乎也適合我(直到現在)所以現在我問:為什么? :D

UPDATE2 :這解決了調試器停止在代碼的特定部分,但它在另一個調用中掛起(使用相同的消息)。 在我看來,這涉及一些CoreData API,如(NSEntityDescription*)entityForName: inManagedObjectContext:

更新3 :最好是緩存NSEntityDescription而不是總是創建一個新的?

在方案中啟用“隊列調試”時,我觀察到調試非常慢。 如果您不需要隊列調試,請考慮禁用它。

我有同樣的問題,並在蘋果的討論中找到了一些相關的答案:

問題的一個常見原因是嘗試在未初始化的對象上運行數據格式化程序。 我們實際上沒有辦法確定對象是否好的時候。 我們有一些啟發式方法,但堆棧對象有時會指向另一個堆棧對象的剩余部分“幾乎足夠好”並欺騙我們。 一個有助於解決這個問題的技巧是當你打破一個函數時,在初始化對象之后中斷,而不是在函數的最開始。

嘗試在Instruments中運行代碼。 這可能是內存問題,因此在代碼運行時請注意您在Instruments中的使用情況。 當你到達響應越來越少的部分時,你應該看到內存使用量上升,並能夠從儀器中追溯到那里。

希望這可以幫助!

我有一個同樣的問題,我解決它禁用選項“ 運行 ” - “ 啟用/禁用衛隊黃金 ”在Xcode。 現在它運作得如此之快! 檢查是否啟用了此選項並將其禁用。

希望能幫助到你! :d

我遷移到xCode 3.2時也遇到了同樣的問題。 我一直在使用xcode 3.0和2.0,我從來沒有在這些SDK中遇到過這個問題。 所以我認為這是新SDK的一個問題。

我是Xcode調試的新手,但在進行我的研究時,我偶然發現了這個可能對你的問題有幫助的問題。

基本上有兩個人在xcode調試方面有很多問題,OP通過全新安裝解決了他的問題。 引用LucasTizma的第四次編輯:

最終讓設備調試工作。 我有一種感覺,我的設備上的低級別的東西導致了問題...我在我的系統上做了什么。 但是,我在另一個系統上安裝了Xcode,並且在同一設備(使用相同的電纜)上的設備調試工作正常。 在此之后,設備調試開始在我原來的機器上運行,讓我相信一些奇怪的硬件標志被搞砸了,並且在第二台機器上以某種方式“重置”。 無論如何,它現在有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM