2011-10-23 83 views
1

我是Opera的長期用戶,作爲一般用法的瀏覽器,由於Firefox的各種煩惱,我決定給Dragonfly一看。跳到我頭上的第一件事是在調試JavaScript時,我似乎無法逐行瀏覽我的腳本。如何在Opera蜻蜓調試JavaScript時逐行瀏覽?

我正在使用ASP.NET,我的腳本只是一個按鈕單擊事件。當我將斷點放在函數的第一行並單擊按鈕時,按預期擊中斷點。在這裏,我感到困惑。蜻蜓的窗口在左上角有四個按鈕 - 繼續,進入,跳過和跳出。如果我點擊Step Over或點擊F10,我預計調試器將像Firebug一樣遍歷JavaScript,但它似乎立即跳過了函數的其餘部分。如果我點擊繼續或按F8,也會發生同樣的情況。如果我點擊Step Into或者點擊F11,我開始下降到jQuery JavaScript中,而這種JavaScript並不是我想要的!

我在這裏錯過了什麼?如果有幫助,我正在使用Opera 11.52。

只是要添加更多關於我正在使用的環境的信息,下面是我的按鈕單擊事件的屏幕截圖,其中第14行設置了斷點。按下瀏覽器中的按鈕時,執行會暫停。現在

enter image description here

,我預計一些按鍵的存在是爲了簡單地把我行#15。在Firebug和IE開發工具中,按鍵是F10。在Dragonfly中,儘管F10似乎只是跳過了JavaScript代碼的其餘部分。這同樣適用於Shift + F11。 F11本身帶我到jquery.js的這部分,如前所述,它不是我想要的地方。

enter image description here

+0

我見過F10有時會行事不端: - /,如果你有一個鏈接的地方顯示這個問題我想檢查它是否在Opera 12預覽版中修復了。 – hallvors

+1

順便說一句,唯一的解決方法是在你想要跨越的函數下面設置一個斷點,使用F10,清除斷點並繼續正常。 – hallvors

+0

能否詳細說明你的意思是「在你想要跨越的函數下面設置一個斷點」? – Malice

回答

1

這是Opera中的一個錯誤,當使用Dragonfly調試器跳過或跳出函數時,這有時會導致問題。

唯一的解決方法是在您要跨越的函數下面設置斷點,使用F10清除斷點並繼續正常。例如,在上面的第一個屏幕截圖中,您將在第15行設置一個新的斷點,按F8,並在第15行停止時清除斷點。我知道這實在是煩人:-(

我已經做了嘗試重現這個bug以便它可以得到固定更多的工作。在Opera中的(關閉)的bug跟蹤系統,這是目前跟蹤的問題CORE-42532 ,似乎我們在那裏取得了一些進展,所以希望這個煩惱會有一天消失。同時祝你的調試運行順利!