1. 程式人生 > 實用技巧 >chrome 除錯工具使用

chrome 除錯工具使用

目錄

chrome 除錯工具使用

斷點除錯

程式碼斷點

1、開啟除錯工具(Ctrl/Cmd + Shift + C)。
2、單擊 Sources 選項卡。
3、開啟包含要中斷的程式碼行檔案。
4、在需要暫停的程式碼左側的行號處,點選,行號處會顯示一個藍色的圖示

5、現在重新整理頁面,當代碼執行到這一行就會暫停

條件斷點

除了普通的斷點外,還可以使用條件斷點,不過只有在條件為真時才會暫停。

1、在程式碼行左側的行號處,右鍵單擊。
2、選擇 add conditional breakpoint

,會彈出一個輸入框。
3、在輸入框輸入條件語句,回車確定,行號處會變成橙色

管理程式碼斷點

斷點多了,有時候自己也亂。這個時候可以在右側的 Breakpoints 窗格管理斷點。這裡顯示每個斷點對應的行號和程式碼

1、點選斷點前的複選框可以禁用該斷點。
2、右鍵單擊某個條目,可以撥出選單以刪除該斷點,取消啟用所有斷點,禁用所有斷點或刪除所有斷點,刪除除此斷點外的其他斷點。其中取消啟用所有斷點會指示DevTools忽略所有程式碼行斷點,但也要保持其啟用狀態,以便它們在重新啟用它們時處於與之前相同的狀態。
3、單擊斷點其他位置,可以聯動到該程式碼在編輯器的位置,並且背景會標黃

DOM斷點

有時候可能需要在DOM節點發生改變的時,對程式碼暫停。這是就可以設定DOM更改斷點。

1、切換到 Elements 選項卡。
2、右鍵點選需要設定斷點的元素,撥出選單。
3、將滑鼠移動到 Break on 上,然後選擇 “子樹修改”,“屬性修改” 或 “節點刪除”。

三種斷點型別解釋:

  • 子樹修改。當刪除或添加當前所選節點的子節點或更改子節點的內容時觸發。未在子節點屬性更改或當前所選節點的任何更改上觸發。
  • 屬性修改:在當前選定的節點上新增或刪除屬性時或屬性值更改時觸發。
  • 節點刪除:刪除當前選定的節點時觸發

XHR/Fetch 斷點

如果要在XHR請求的時候,對包含指定字串的URL進行中斷,可以使用此斷點。DevTools暫停XHR呼叫的程式碼行 send()。(Fetch 也適用)

1、切換到 Sources 選項卡。
2、展開 XHR/Fetch Breakpoints 窗格。
3、點選右側的加號新增斷點。
4、在彈出的輸入框輸入URL包含的字串,回車,包含這段字串的URL,在發出請求的時候,DevTools就會暫停。注意,如果輸入為空,將對任何請求進行暫停。

事件監聽器斷點

如果要暫停事件觸發後執行的事件監聽器程式碼,可以使用事件監聽器斷點。

1、切換到 Sources 選項卡。
2、展開 Event Listener Breakpoints 窗格。
3、在事件列表裡選擇需要監聽的事件型別。比如常用的 Mouse 下的 click 事件。

異常斷點

如果要在丟擲捕獲或未捕獲的異常的程式碼上暫停,那麼可以使用異常斷點。

1、切換到 Sources 選項卡。
2、點選 暫停異常 按鈕。如圖。啟用後會變成藍色。
3、如果除了未捕獲的異常之外還要暫停捕獲的異常,請選中“ 暫停捕獲異常”複選框

進步執行程式碼

程式碼暫停後,我們需要手動控制程式碼的執行,以方便排查問題。如下圖從左往右依次是恢復執行跳過下一個函式跳入下一個函式跳出下一個函式逐步執行下一行

檢視當前執行上下文

在某行程式碼上暫停時,使用 scope 窗格可以檢視當前執行上下文。

1、雙擊屬性值,可以進行更改。
2、不可列舉的屬性顯示為灰色

檢視當前呼叫堆疊

在某行程式碼上暫停時,使用 call stack 窗格可以檢視此時的呼叫堆疊。

1、單擊某一個條目可以跳轉到呼叫該函式的程式碼行。藍色箭頭表示DevTools當前正在突出顯示的函式。
2、右鍵點選某個條目,可以選擇複製堆疊跟蹤。將當前呼叫堆疊複製到剪下板。

觀察自定義表示式

Watch 窗格可以檢視自定義表示式的值。

1、單擊加號按鈕建立監聽表示式。
2、單擊重新整理按鈕會重新整理現有表示式的值。在逐步執行程式碼時,值會自動更新。
3、滑鼠懸浮在表示式上時,會出現一個減號,點選可以刪除該表示式