debug調試入門,快速找出代碼bug,代碼邏輯研究


|||||故事:
我為什么要講這個呢,這段時間,我在公司,有幾個人對我使用debug調試的效果眼前一亮


|||||作用:
debug意譯為調試。不知道你有沒有這樣一種情況,明明有bug,卻找不到原因,一直控制台輸出日志,苦苦不得結果。這個時候你就有必要認識一下debug這個東西了

|||||背景:
我個人一開始很拒絕debug,因為用起來比較復雜,不知道咋用,網上教程也說不明白,所以我對控制台輸出調試情有獨鍾。后來,隨着項目的復雜化,你對項目的了解便成了盲人摸象,解決bug,理清邏輯,光靠控制台就顯得捉襟見肘了。一開始我主要做前端,用的是chrome debug,你可以在chrome中的代碼上直接打斷點,也可以在編輯器中通過debug語句打斷點,這樣就能一行一行執行代碼,看哪里出了問題。后來主要做nodejs后端,chrome調試就不行了,就使用vscode做debug了。

|||||用法:
debug執行過程為,啟動debug-->運行代碼到斷點停止運行-->你通過繼續、單步跳過、單步調試按鈕調試代碼-->代碼運行結束
debug模式有兩個視圖,一個是變量監視視圖,這個視圖會列出當前全局變量值和當前作用域變量值。另一個是代碼視圖,有一個游標指向當前正在執行的語句。
debug調試按鈕介紹,繼續按鈕會放開當前斷點,如果下邊有斷點,代碼直接到下一個斷點停止執行,如果下邊沒有斷點,則代碼執行完畢。單步跳過按鈕為跳過斷點這個語句,停止到下一語句,這個過程也叫代碼一行一行調試。單步調試按鈕會進入當前語句子環境,假設這一語句是調了一個函數,那么單步調試就會進入這個函數。單步跳過按鈕,會退出子環境。


|||||示例:
假設你定義了一個全局變量,這個變量在代碼運行過程中報了TypeError錯誤,代碼很復雜,怎么去解決這個問題呢
笨方法:打斷點到變量定義的地方,然后單步調試,一行一行執行,查看視圖中這個變量值的變化
縮小調試范圍法:打斷點到變量定義的地方,在到結束的區間中多打幾個斷點,用繼續按鈕,去確定那個區間出了問題,縮小區間后,再在區間內一行一行調試
視圖變量追蹤:視圖中,你可以定義監視報錯的變量,這樣單步調試就能清晰的查看變量值的情況

|||||其他用途
debug最重要的功能是調試代碼bug,此外也能用作代碼過程研究,例如你要了解控制台輸出語句是怎么輸出的,就可以把斷點打到輸出語句上,用單步調試進入輸出函數,一步一步去看內在實現邏輯。同樣也可以研究第三方庫的API,以便修改掉第三方庫不符合我方需求的邏輯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM