2012-07-06 35 views
0

我正在挖掘一個單頁JavaScript Javascript應用程序,它試圖追蹤代碼中非常特定的部分,發生了一些事情(不直接綁定到事件,因此使用像Firequery這樣的工具進行追蹤被證明無效)。在Firebug/Chrome中從一個斷點到另一個斷點獲取Javascript或jQuery堆棧跟蹤?

我想知道是否有任何方法可以在一個斷點處暫停Javascript的執行,設置另一個斷點,並記錄所有推出並彈出堆棧的函數的跟蹤,以便我可以跟蹤特定位置在代碼庫(很多JS文件)中發生這種情況。

謝謝。

編輯:應該指出,jQuery跟蹤書籤在這種情況下幫助不大。

+0

http://msdn.microsoft.com/en-us/magazine/ee819093.aspx - 是一篇優秀的文章,可能有你不知道的東西!只爲保持! – bPratik 2012-07-08 00:01:30

+1

另一個可能有幫助的鏈接:http://log4javascript.org/ – bPratik 2012-07-08 00:06:47

回答

3

在Chrome開發工具中,如果您設置了一個斷點,則可以逐行手動逐行掃描(F10)代碼,直到達到所需的終點。這將通過JS正在做的所有事情,包括帶你通過你可能擁有的其他文件。

+2

Firebug也一樣。值得一提的是你可以跨過('F10')或者步入(''F11')。 – 2012-07-07 23:54:19

2

也許你可以通過遵循@sachleen寫的東西來達到你想要的效果。

而對於原題:

在Firebug中,你必須在「控制檯」選項卡「配置文件」按鈕。它沒有按照執行順序列出函數,只是統計每個函數發生了多少次調用。如果你有一些函數的多個調用,它可能沒有什麼幫助。但這取決於。

在Chrome中,您有「配置文件」選項卡,它顯示的輸出有點不同[您可以選擇兩種顯示輸出的方法:「Heavy(bottom up)」和「Tree(top down)」]。根據您的需要選擇一個。事實上,Chrome的輸出對我來說有點尷尬。

基本上,分析本身在兩者中的工作方式都是相同的,您單擊一個按鈕開始分析,然後再次單擊它以在完成後將其停止。

相關問題