2016-05-26 147 views
0

我一直有很多與鉻調試器有關的問題。有時我不能在特定位置啓用斷點,其他問題包括在沒有斷點的行上隨機暫停,無法評估絕對定義的變量。奇怪的Chrome調試器行爲

我見過,並很渴望解決的最怪異的事情,是這樣的:

enter image description here

我這裏達到從事件監聽器斷點,因爲人們可以在右邊的窗格中看到。起初,我在4121行放置了一個斷點,我想看看elem是什麼。它不能被評估,說它是未定義的。

現在我評論了一切。它仍然符合代碼。注意突出顯示的區域。這不是我的選擇。這是尚未執行的代碼。亮點沒有任何意義。

如何才能獲得更好的調試體驗?

編輯:我剛剛嘗試過使用Firefox,令我驚訝的是它的行爲與Chrome幾乎一樣(即擊中註釋掉的代碼)。這可能會有一些合理的解釋。

enter image description here

回答

0

調用堆棧和範圍面板中的信息不匹配的是在它被暫停的代碼。您的應用程序正在運行jQuery的縮小版本,但未壓縮的版本顯示在Sources中。

如果您自行運行未壓縮版本,您應該在這些面板中看到以下內容。如果您使用縮小版本,則應該看到您已有的內容,但「源」視圖將顯示縮小版本,除非已配置「源地圖」。由於看起來你註釋了未壓縮版本的代碼,你可能沒有使用源地圖。

便箋:如果確實使用源地圖並編輯縮小版本,則必須重新生成地圖,否則映射將全部錯誤。

Source Maps

這讓我覺得它更可能是造成不必jQuery的多個引用的問題。確保你的解決方案中只有一個對jQuery的引用,否則你無法保證在給定的時間加載哪個版本。

+0

謝謝!我相信你的回答。我現在正在進行其他一些業務,可能不會很快驗證您的答案。我現在正在接受你的答案。再次感謝! –

0

如果你在開發工具所做出的編輯給Javascript,您將需要CTR + 小號(保存)的編輯,然後才能啓用斷點。

+0

如果文件未保存,它將在選項卡中的名稱旁邊帶有星號(*)。這似乎並非如此。 –