2011-05-24 79 views
3

我有一個頁面,它總是會卡只能在Chrome和Safari。該頁面加載得很好,然後達到25%的CPU(4核心 - 如果你喜歡100%)。它從不崩潰,但保持不響應。 Safari實際上說有一個沒有反應的腳本。我已將調試警報放在所有啓動代碼上,代碼運行得很好。我已經「等待www ......」消息不會消失。 我怎麼知道現在正在運行什麼?有沒有辦法「轉儲」當前的JavaScript堆棧,即使該選項卡沒有響應?瀏覽器無響應調試

因爲該網站沒有準備好,爲廣大市民,只是還沒有,我不能把鏈接,所以如果你可以用一個通用的解決方案或任何的方法來診斷問題有所幫助,我將非常感激。

另一種奇怪的東西,沒有響應的頁面加載就好了其中本地運行。

任何幫助將不勝感激。

+1

那麼,你能給我們的網頁?或者我們是否應該盲目地弄清楚? – Blender 2011-05-24 21:39:22

+0

比較本地開發平臺和實時服務器之間的訪問日誌。可能有某種無限循環發生。 – 2011-05-24 21:41:09

回答

7

您可以使用WebKit探查找出它開始突突。打開開發人員工具(我的Mac上的命令+ alt + i,也可通過Chrome右上角的扳手圖標訪問),轉到配置文件選項卡,然後單擊左下方的黑色圓圈。做導致放緩的事情,然後再次單擊純黑色圓圈。黑色圓圈是'開始錄製'/'結束錄製'。然後你可以看到哪些js功能花費最多的時間。您還可以獲取堆快照,以便您可以看到正在創建的所有js對象。很有用。

Here is a screenshot that shows the profiles tab, and the icons on the lower left, to help you find it.

+0

問題它只發生在啓動和所有我的代碼完成運行後(據我所知) – Sonia 2011-05-24 21:46:12

+1

@sonia,然後把調試器;在您的js應用程序引導的代碼中,暫停加載並使您能夠啓動調試器。 – hvgotcodes 2011-05-24 21:47:47

+0

您必須在導航到有問題的頁面之前啓動調試器,然後才能使用分析器,否則您無法使用該分析器。 – Sonia 2011-05-26 10:14:25