2012-02-24 44 views
0

我想優化一個腳本,我正在使用Firebug分析器來查看哪些函數使用大多數時間從那裏開始。firebug - 我如何檢測函數被調用或從哪裏調用函數

我的問題是腳本使用jQuery和raphaeljs及其功能,事件等被列爲「匿名」。他們全部。

正如您在下面的圖片中看到的,我定義的所有內容都以名稱顯示。

下面是我看到的圖像(圖像可讀可縮放一點(ctrl +「+」))。

enter image description here

由於我不打算修改的jQuery或拉斐爾我真的不關心什麼是函數的名稱叫(壽它會很高興知道),但我對這裏很感興趣該函數是否已被調用(以查看是否可以減少調用次數或其他)。任何想法如何做到這一點?

謝謝你的幫助。

回答

3

在Firebug中,使用堆棧面板,以確定是誰打來的,誰被調用。 在調試過程中,請使用非最小版本的腳本以便在正確的位置中斷點。

+0

腳本 - >堆棧?我該怎麼做......在我的窗戶裏總是空空如也。 – zozo 2012-02-24 09:53:37

+0

我嘗試在鉻也...堆棧跟蹤是「undefined undefined undefined undefined等」。有什麼建議麼? :( – zozo 2012-02-24 10:02:00

+0

堆棧只激活錯誤/暫停...我可以改變這種行爲嗎? – zozo 2012-02-24 10:18:37

2

要找到哪個函數調用當前函數使用此:

alert(arguments.callee.caller.name); 

這將提醒調用函數的名稱。您還可以使用層次是這樣的:

arguments.callee.caller.caller.name 
+0

+1的一般用處,但我知道我調用什麼函數,並且需要知道它在不同場景中調用了什麼(取決於函數調用一堆其他函數的參數以及它們等等等等......)明白這點)。所以我需要對所說的內容進行反駁(這就是爲什麼我使用profiler而匿名是阻止者)。 – zozo 2012-02-24 09:51:52

+0

似乎奇怪.. !!只有在這種情況下調試纔是有用的。取決於參數,嘗試「幹流」流量。 – Ved 2012-02-24 09:57:12