chrome developer tool—— 斷點調試篇

来源:http://www.cnblogs.com/yzg1/archive/2016/06/13/5578363.html
-Advertisement-
Play Games

斷點,調試器的功能之一,可以讓程式中斷在需要的地方,從而方便其分析。也可以在一次調試中設置斷點,下一次只需讓程式自動運行到設置斷點位置,便可在上次設置斷點的位置中斷下來,極大的方便了操作,同時節省了時間。 ——百度百科 簡單地說,斷點調試是指自己在程式的某一行設置一個斷點,調試時,程式運行到這一行就 ...


斷點,調試器的功能之一,可以讓程式中斷在需要的地方,從而方便其分析。也可以在一次調試中設置斷點,下一次只需讓程式自動運行到設置斷點位置,便可在上次設置斷點的位置中斷下來,極大的方便了操作,同時節省了時間。 ——百度百科

簡單地說,斷點調試是指自己在程式的某一行設置一個斷點,調試時,程式運行到這一行就會停住,然後你可以一步一步往下調試,調試過程中可以看各個變數當前的值,出錯的話,調試到出錯的代碼行即顯示錯誤,停下。

Sources面板

Sources面板是chrome developer tool中的斷點調試面板。我們打開Sources面板後其實會在界面中看到如下內容,我們跟著逐一看看都是什麼意思:

1.左上藍色模塊
網站文件目錄樹。

2.右上黃色模塊
左側所選文件的具體內容展示區

3.右下綠色模塊
這一模塊有倆個可切換區域:

  • scope :顯示當前斷點的作用域
  • watch :點擊+號可添加你所需要監控的變數或者表達式

4.左下紅色模塊
主要核心功能區

  • Call Stack 顯示當前斷點的環境調用棧
  • Breakpoints 當前js斷點列表,添加的每個斷點都會出現在此處,點擊列表中斷點就會定位到內容區的斷點上
  • DOM Breakpoints 當前DOM斷點列表列表
  • XHR Breakpoints 當前xhr斷點列表,可點擊右側+添加斷點
  • Event Listener Breakpoints 事件監聽器斷點設置處
  • Event Listeners 當前事件監聽斷點列表

設置斷點

斷點調試的首要條件當然是添加斷點,js斷點添加的方式有倆種:

1.JS斷點

  • Sources斷點
    Sources斷點添加的流程是“F12(Ctrl + Shift + I)打開開發工具”——“點擊Sources菜單”——“左側樹中找到相應文件”——“點擊行號列”即完成在當前行添加/刪除斷點操作。當斷點添加完畢後,刷新頁面JS執行到斷點位置停住,在Sources界面會看到當前作用域中所有變數和值,只需對每個值進行驗證即可完成我們題設驗證要求。
    • 條件斷點
      在Sources里還可以設置條件斷點,在斷點位置的右鍵菜單中選擇“Edit Breakpoint...”可以設置觸發斷點的條件,就是寫一個表達式,表達式為 true 時才觸發斷點。
  • Debugger斷點
    Debugger斷點的添加就是通過在代碼中添加"debugger;"語句,當代碼執行到該語句的時候就會自動斷點。

2.DOM斷點
DOM斷點,顧名思義就是在DOM元素上添加斷點,進而達到調試的目的。而在實際使用中斷點的效果最終還是落地到JS邏輯之內。
DOM斷點的添加流程為:打開Elements面板——定位到相關DOM節點——單機滑鼠右鍵,彈出側邊欄——滑鼠移動到Break on...上,選擇相應選項subtree modifications/attributes modifications/node removal即可。

  • 子節點變化斷點 (subtree modifications)
    主要針對子節點增加、刪除以及交換順序等操作,但子節點進行屬性修改和內容修改並不會觸發斷點。

  • 節點屬性斷點 (attributes modifications)

  • 節點移除斷點 (node removal)

3.XHR斷點(XHR Breakpoints)
我們可以通過“XHR Breakpoints”右側的“+”號為非同步斷點添加斷點條件,當非同步請求觸發時的URL滿足此條件,JS邏輯則會自動產生斷點。

4.事件監聽器斷點(Event Listener Breakpoints)
事件監聽器斷點,即根據事件名稱進行斷點設置。當事件被觸發時,斷點到事件綁定的位置。事件監聽器斷點,列出了所有頁面及腳本事件,包括:滑鼠、鍵盤、動畫、定時器、XHR等等。

斷點調試

斷點調試主要用到以下功能鍵,從左到右依次為:

  • Pause/Resume script execution:暫停/恢復腳本執行(程式執行到下一斷點停止)。
  • Step over next function call:執行到下一步的函數調用(跳到下一行)。
  • Step into next function call:進入當前函數。
  • Step out of current function:跳出當前執行函數。
  • Deactive/Active all breakpoints:關閉/開啟所有斷點(不會取消)。
  • Pause on exceptions:異常情況自動斷點設置。

我的博客:http://bigdots.github.iohttp://www.cnblogs.com/yzg1/

如果覺得本文不錯的話,幫忙點擊下麵的推薦哦,謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前段時間做了一個項目,涉及到上傳本地圖片以及預覽的功能,正好之前瞭解過 html5(點擊查看更多關於web前端的有關資源) 可以上傳本地圖片,然後再網上看了一些demo結合自己的需求,終於搞定了。(PS : 不得不承認我這個人有多懶,沒有需求的時候我向來不主動去學習)。移動端完全支持哦!已測試。 下 ...
  • 原型包括三個獨立但相關的訪問器。這三個單詞都是對單詞prototype做了一些變化。 C.prototype用於建立由new C()創建的對象的原型 Object.getPrototypeOf(obj)是ES5中用來獲取obj對象的原型對象的標準方法 obj.__proto__是獲取obj對象... ...
  • .bottomTable{ background-color: rgb(249,249,249); z-index:99999999; position:fixed; bottom:0; left:0; width:100%; _position:absolute; /* for IE6 */ /* ...
  • javascript的列印輸出document.write() 1 document.write(hello world !); ...
  • 效果展示 http://hovertree.com/texiao/jquery/77/看慣了左右切換的幻燈片,何問起向您推薦一個新穎的,旋轉切換,通過點擊按鈕的相應區域可以使幻燈片以旋轉的方式來切換圖片,非常有創意。點擊哪個顏色就切換到那個顏色,還帶音效。背景圖可以自定義。進入源碼下載頁面 http ...
  • React作為目前最流行的前端框架之一,其受歡迎程度不容小覷,從這門框架上我們可以學到許多其他前端框架所缺失的東西,也是其創新性所在的地方,比如虛擬DOM、JSX等。那麼接下來我們就來學習一下這門框架是如何構建起一個單頁應用的。 前言 首先在學習這門框架前,你需要對以下知識有所瞭解: 原生JS基礎 ...
  • 在mvc/mvvm類框架出現之前,開發者通常需要手動更新html並維護html與數據之間的關係。隨著mvc思想在前端社區的普及和發展,view層和model層的解耦和分離機制已經是各框架的標配了。令人欣喜的是,angular2在現有各框架的理論基礎上對數據綁定重新進行了抽象,在架構上進行了革新,很有 ...
  • 通過Object構造函數或對象字面量創建對象時,使用同一個介面創建很多對象時,會產生大量的重覆代碼。為了簡化,引入了工廠模式。 工廠模式 function createPerson(name, age, job) { var obj = new Object(); obj.name = name; ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...