2015-01-15 64 views
0

我一直在遇到Chrome開發控制檯的問題。控制檯說有一個JavaScript錯誤,它告訴我這個數字。但問題是,很多時候,它所指的行號與我的代碼中的錯誤完全不相關。Chrome的開發控制檯說錯誤的行號有錯誤

例如,目前,我有一個錯誤,說Uncaught TypeError: Cannot read property 'Title' of undefined,這是可以理解的。但是,當控制檯試圖告訴我錯誤發生的行號時,該行從來沒有首先調用變量Title。爲什麼它引用該行號?見下圖:

Image of Chrome's development console error that references a line number that has nothing to do with the line number

在上圖中,線#83在我的代碼有什麼用Cannot read property 'Title' of undefined.這樣做,我不知道在哪裏,因爲在我的代碼多次ocured錯誤,我稱之爲字段名爲Title

編輯:我在Internet Explorer 10(screenshot)上也試過,它給了我正確的行號。也許這是谷歌方面的一個小故障。

回答

1

它可能不是一個準確的線,而是一段代碼導致的問題,一些調試器(可能包括鉻)並不總是100%準確,並可能引用你的塊或段導致問題的代碼。在這種情況下,它看起來像問題是與lastCharacter = allObjs[allObjs.length -1].Title]...是在同一個分段中。

如果發生錯誤並且它與行號不一致,我會建議在該段上設置一些斷點並查看結果是什麼或控制檯日誌記錄.Title其中在該代碼塊中使用它。

+0

我認爲你是對的,它是Chrome的解釋器。因爲我在Internet Explorer上也嘗試了這種方法,它給了我一個準確的數字(請參閱我的原始文章中的編輯)。 – AskYous 2015-01-15 17:06:41

+0

我正在從Firefox遷移過程中。我注意到,在識別源代碼中的行號比Chrome中更準確。 Chrome曾多次被9條以上的產品線關閉。這非常令人沮喪。 – 2017-06-15 18:37:59