2013-03-15 45 views
3

我想知道如何在運行時訪問JavaScript執行跟蹤。我看見螢火蟲可以做這樣的事情:如何在Firefox中運行時訪問JavaScript執行跟蹤?

enter image description here

參見上圖中,所有執行的行號以綠色突出顯示。它們在運行時實現。我想必須有某種方法可以從瀏覽器使用的JavaScript引擎訪問這些信息。

現在說我想構建一個Firebug插件來訪問這些信息並檢查運行時每個已執行行中的所有變量,我該如何啓動?

+0

這是不是在螢火蟲的情況。它僅在其中有一些執行的行上顯示綠線(因此不包括大括號'{}')。這些行可能無法執行。它不顯示執行跟蹤。嘗試將'if(){} else {}'放入代碼中,並看到它將以綠線顯示代碼中的兩個塊 – nefarianblack 2013-03-15 07:52:08

+0

@tanmaykhandelwal謝謝,但這不是真的。請參閱我更新的屏幕截圖。謝謝。 – Fshly 2013-03-15 08:08:32

+0

你有哪個版本的螢火蟲。我有1.11.2,它也在'if(false){'行顯示綠線號。你是否也可以在if語句的假條件中添加可執行文件行?像這樣: 'if(false){var a ='1';} else {var b ='2';}' – nefarianblack 2013-03-19 09:12:43

回答

1

顯然你問過在Firebug論壇的same question

要複製洪扎的回答是:

螢火蟲目前正在使用JSD(jsdIDebuggerService)搞清楚, 哪一行是可執行的。不過,該計劃是切換到JSD2(工作正在進行中 )https://wiki.mozilla.org/Debugger

你也應該立足分機上JSD2

外觀爲 調試文檔中getLineOffsets(line)getOffsetLine(offset)。我沒有測試它,但我認爲如果getLineOffset 返回null,則該行不可執行。

塞巴斯蒂安