精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

程序員修煉之如何提高Debug效率

開發(fā) 前端
可以不夸張地說,程序員可能有一半的時間都在修bug。雖說,根據(jù)28原則大部分bug都可以在搜索引擎上搜到(業(yè)務性bug除外),但是往往剩下的那20%bug會花費我們80%的時間。

[[389840]]

本文轉(zhuǎn)載自微信公眾號「 跨界架構(gòu)師」,作者Zachary 。轉(zhuǎn)載本文請聯(lián)系 跨界架構(gòu)師公眾號。 

大家好,我是Z哥。

可以不夸張地說,程序員可能有一半的時間都在修bug。雖說,根據(jù)28原則大部分bug都可以在搜索引擎上搜到(業(yè)務性bug除外),但是往往剩下的那20%bug會花費我們80%的時間。

雖然解決這個問題最好的是方式減少產(chǎn)生bug,但是再怎么減都不可能減到0,我們還是有必要提高自己Debug的效率。

因為在Debug方面,水平高的人可能在效率上能領先至少一個數(shù)量級。我在這個行業(yè)從業(yè)將近9年,我見過太多這樣的案例了。網(wǎng)上也流傳過一個傳播度很高的案例,有一個阿里內(nèi)部的團隊排查好幾天未果的一個問題,去請教多隆大神,分分鐘就搞定了。

很多人的Debug能力之所以長期止步不前,在我看來主要原因是兩個。

  • 一是對IDE的功能不夠了解,只會用平時一直在用的基礎功能。
  • 二是沒有掌握一個合理的Debug思路,屬于“運氣型”選手。

不同的編程語言,主流的IDE都不同,所以我主要就第二點展開說說我的經(jīng)驗。

有些經(jīng)驗的程序員都知道,Debug的過程最重要的不是怎么修復bug,而是怎么找到產(chǎn)生bug的地方。所以,下面要講的思路主要也是圍繞排查bug相關(guān)。

縮小問題范圍

縮小問題范圍的方式有很多,本質(zhì)上其實是從當時的環(huán)境中找到與問題更高相關(guān)的變量。最常見的變量主要在以下這些:

  • 運行環(huán)境
  • 所操作的數(shù)據(jù)
  • 瀏覽器
  • 對應的源碼版本

建議你先從這幾個變量進行驗證。然后再弄清楚上一次正常操作與當前出現(xiàn)bug的操作之間的這段時間發(fā)生過什么。大多數(shù)情況下,問題的根源就藏在這里面。那種潛藏很久才遇到的疑難問題,畢竟是少數(shù)。

提煉并優(yōu)化每一類bug的標準處理流程

工作中很多流程需要SOP,在修復bug這件事上也可以這么做,如此可以將每一次修復一個疑難bug的過程給沉淀下來。

常見的bug類型主要有4類:

  1. 輸出與預期不符
  2. 程序報錯
  3. 程序明顯響應慢
  4. 程序crash

每一類都有適合它們的排查方式,如果你總是用同一個套路去排查這4類問題,效率自然不會太高。

01 輸出與預期不符

這種bug最頭疼,為什么呢?因為它不像那種異常、報錯的bug,有堆棧信息,可以快速縮小排查范圍,甚至直接定位到產(chǎn)生的地方。

那么怎么辦呢?如果這個問題在測試環(huán)境,那么最簡單,直接單步調(diào)試走起,這個時候如果對IDE的調(diào)試工具掌握得越深入,效率也會越高,比如條件變量、多線程調(diào)試等等。

這里多說一句,強烈建議每個人掌握自己所用IDE的條件變量和多線程調(diào)試這兩種方法,在當前的大環(huán)境下,整個軟件開發(fā)領域的大型項目和多線程運用都比幾年前高得多。

如果沒法單步調(diào)試的情況,那么只能通過多打一些日志,來達到接近單步調(diào)試的效果。不過這點需要你做一些預判,在一些代碼分支、可疑位置打上日志即可,畢竟編寫記錄日志的代碼也需要時間不是。

02 程序報錯

這種bug對有些經(jīng)驗的程序員來說是最簡單了,因為直接告訴了你產(chǎn)生異常的代碼位置。

但是對新手就不同了,很多新手會拿著描述異常的一堆文字去搜索引擎搜,比如(NullPointer Exception),搜出來N多文章,一篇一篇看下來并嘗試都發(fā)現(xiàn)不能解決自己的問題,其實就是由于自己還沒習慣于去看堆棧信息。因為別人的NullPointer Exception和你的NullPointer Exception產(chǎn)生的原因并不一樣。

堆棧信息中記錄了整個調(diào)用鏈路,所以通過這里你可以看到完整的方法調(diào)用順序。

不過值得提醒的是,在日常編寫的代碼的時候,千萬不能隨意的try catch代碼塊,然后throw一個new exception,因為這會導致堆棧信息不完整。

03 程序明顯響應慢

這種問題一般是在產(chǎn)生資源競爭,或者資源緊張的時候發(fā)生。排查他們的難度也比較高。

如果說前面兩類問題中,高水平和低水平的區(qū)別只在于解決效率的高低上,那么這個問題對低水平的程序員們來說可能是不管花多少時間都找不到問題的原因。

不過不要緊,我建議你以后遇到這種情況,優(yōu)先從以下這幾個指標入手。

  • TCP連接數(shù)
  • 內(nèi)存占用率
  • 線程數(shù)

對于TCP連接,你身邊得常備一份netstat命令手冊,然后敲入命令,分別查看連接數(shù)是否接近到了65535?TIME_WAIT、CLOSE_WAIT狀態(tài)的連接是不是過多?

大多數(shù)情況下,TCP連接相關(guān)的問題主要就是兩個:

  1. 連接使用完后未及時釋放
  2. 針對高頻調(diào)用未使用長鏈接,而使用了短鏈接。此時一旦下游服務響應慢就會快速打滿65535個連接。

對內(nèi)存問題的分析,主要是就是通過分析GC來進行,主要關(guān)注是否有什么類型的對象占用內(nèi)存過大了。如果存在過大的情況,主要原因是以下兩個:

  1. 某個大對象應該是共享使用的,在代碼里不小心寫成了每一個實例各自一份。
  2. 某個對象分配的時候不小心帶上了static關(guān)鍵字,導致GC一直無法回收為其分配的內(nèi)存。

不同的編程語音有不同的GC分析工具,需要熟練掌握。

對線程的分析,和TCP連接類似,主要集中在線程的數(shù)量和狀態(tài)上。線程并不是數(shù)量越多、性能就越好。數(shù)量越多,可能花在線程之間的上下文切換上的時候就比實際執(zhí)行代碼邏輯還要多。

另外,是不是有大量線程blocked或者deadlocked了?隨便挑其中一個線程,分析其當前的堆棧信息,就是問題所在。

04 程序crash

導致crash的主要原因有兩點。

  1. 是由于前面提到的原因3未及時察覺,導致程序運行直到資源耗盡,由操作系統(tǒng)干預強行終止運行。
  2. 代碼中存在未捕獲的exception。

第一點參照原因3的處理方式。

第二點就很簡單了,在代碼的最外層做一個大大的try catch,然后打上日志將堆棧信息記錄下來,發(fā)布到線上,自然就能看到是那里出現(xiàn)的問題,然后轉(zhuǎn)到原因2的處理方式。

最后,提高Debug能力必須要多實踐。所以,我是非常建議你在條件允許的情況下,勇敢地去挑起排查線上疑難雜癥的任務,甚至并不是你直接負責的功能模塊。

可能在外人看來你在幫別人“擦屁股”,但這會讓你的Debug能力得到明顯的提升,并且容易形成對你的依賴,讓你越來越強。

好了,總結(jié)一下。

這篇呢,Z哥和你分享了我對提高Debug效率這件事的看法。

想要提高Debug的效率,一是要對IDE工具有熟練的了解,知道一些高階的使用方式。二是要對Debug有一套自己的思路。

對于第二點,我建議的步驟是:

  1. 縮小問題范圍
  2. 提煉并優(yōu)化每一類bug的標準處理流程

Bug主要分為4類,我在文中給出的思路也區(qū)分了這4類:

  1. 輸出與預期不符
  2. 程序報錯
  3. 程序明顯響應慢
  4. 程序crash

希望對你有所幫助。

在我看來,Debug是一件很好玩,也很有成就感的事情,不亞于設計一個項目的框架。而且Debug還能讓你真正地體會到什么是“魔鬼藏在細節(jié)里”。

 

責任編輯:武曉燕 來源: 跨界架構(gòu)師
相關(guān)推薦

2021-07-19 05:53:32

程序員工作效率效率

2017-09-11 11:15:31

Android提升效率

2012-07-16 00:51:36

程序員效率

2011-09-30 11:13:31

51CTO博客一周熱門程序員

2014-07-14 11:28:41

2012-07-05 09:37:04

Java程序員

2015-04-14 09:29:25

CTO程序員

2020-06-15 08:01:33

CRUD程序員代碼

2018-04-02 11:19:20

MacAppleScript代碼

2009-12-04 10:45:20

程序員職場

2025-05-13 00:05:00

CursorMCP工具

2009-07-21 10:16:51

ASP.NET程序員

2010-08-11 13:56:03

Flex程序員

2009-07-27 10:00:17

程序員ASP.NET

2020-12-11 10:00:17

工具代碼Windows

2019-11-27 10:08:36

程序員技能開發(fā)者

2017-03-06 10:08:23

中級程序員

2009-11-04 11:54:33

程序員職業(yè)水準

2012-06-21 16:19:30

程序員

2015-11-24 16:33:05

程序員思考分享
點贊
收藏

51CTO技術(shù)棧公眾號

日本一区二区三区在线不卡| 欧美一区=区| 精品久久人人做人人爱| av之家在线观看| 久青草国产在线| 国产麻豆欧美日韩一区| 91高潮在线观看| 999精品在线视频| 欧美日韩精品一区二区三区在线观看| 欧美网站一区二区| 成人免费视频91| 刘亦菲毛片一区二区三区| 亚洲天堂免费| 国产丝袜一区视频在线观看 | 在线综合欧美| yellow中文字幕久久| 中文字幕人妻一区二区三区| 国产综合av| 亚洲成人在线免费| 国产精品亚洲天堂| 国产51人人成人人人人爽色哟哟| 国产成人av福利| 成人妇女免费播放久久久| 天天综合网入口| 欧美日韩一区二区高清| 正在播放欧美一区| 亚洲av片不卡无码久久| 6080亚洲理论片在线观看| 欧美日韩在线免费视频| 欧美日本视频在线观看| 青草av在线| 中文字幕一区二区三区四区| 欧美日韩喷水| 男同在线观看| 91亚洲国产成人精品一区二区三| 成人av免费看| 精品国产一级片| 韩国成人福利片在线播放| 国产精品久久久久久久久久久不卡 | 亚洲一线二线三线视频| 99亚洲精品视频| 久久日韩视频| 亚洲欧洲成人av每日更新| 日韩三级电影免费观看| 国产永久免费高清在线观看| ww久久中文字幕| 免费亚洲精品视频| 亚洲人妻一区二区三区| 99精品一区二区三区| 国产精品区一区| 女人18毛片一区二区三区| 丰满亚洲少妇av| 成人动漫视频在线观看完整版| 国产麻豆免费观看| 国精产品一区一区三区mba桃花| 国产欧美日韩亚洲精品| 一本色道久久综合亚洲| 九九视频精品免费| 亚洲在线视频福利| www黄色在线观看| 成人综合婷婷国产精品久久| 国产精品一区二区av| 天堂av中文字幕| 91在线一区二区三区| 欧美精品七区| 香蕉视频在线免费看| 亚洲日本va午夜在线影院| 看全色黄大色大片| 乱馆动漫1~6集在线观看| 欧美日韩视频免费播放| 冲田杏梨av在线| 999色成人| 欧美精品一区视频| 亚洲第一成人网站| 99久久婷婷| 欧美国产日韩一区二区在线观看| 久热这里只有精品6| 巨乳诱惑日韩免费av| 成人免费在线视频网站| 亚洲女人18毛片水真多| 久久久精品黄色| 在线综合视频网站| 华人av在线| 欧美三级电影在线观看| 日本泡妞xxxx免费视频软件| 日韩精品丝袜美腿| 日韩中文字幕av| 久视频在线观看| 玖玖玖国产精品| 69174成人网| 欧美成人片在线| 亚洲欧洲综合另类| 国产精品50p| 91精品一区| 日韩精品免费在线播放| 国产黄色片在线| 一区二区91| 成人激情视频网| 四虎影视精品成人| 亚洲人精品一区| 男人天堂网视频| 久久99成人| 在线播放日韩精品| 国产午夜福利一区二区| 免费的国产精品| 精品日本一区二区三区| 国产精品一区二区三区视频网站| 精品国产1区2区| 永久免费黄色片| 欧美精美视频| 91tv亚洲精品香蕉国产一区7ujn| 99久久免费国产精精品| 国产日韩欧美综合一区| 少妇高潮毛片色欲ava片| 999精品嫩草久久久久久99| 亚洲欧美日韩爽爽影院| 青青草激情视频| 久久99精品国产麻豆不卡| 欧洲久久久久久| 国产99在线观看| 欧美一区二区女人| 欧美日韩国产黄色| 久久久久99| 精品欧美日韩| 国产在线拍揄自揄拍视频| 欧美日韩大陆在线| 国产黄色大片免费看| 国产日韩欧美高清免费| 国产精品10p综合二区| 免费在线观看黄色| 欧美日韩亚洲综合| 极品人妻videosss人妻| 老牛影视一区二区三区| 免费中文日韩| 日韩毛片免费观看| 亚洲美女在线视频| 日本免费在线观看视频| 久久伊人中文字幕| 国产又大又硬又粗| 中文字幕亚洲影视| 日韩av电影在线播放| 久青草国产在线| 欧美午夜电影网| 最新中文字幕av| 免费成人美女在线观看| 亚洲午夜精品久久久久久浪潮| 澳门av一区二区三区| 夜夜嗨av色综合久久久综合网 | 日韩一区二区高清| 少妇影院在线观看| 懂色中文一区二区在线播放| 激情五月婷婷六月| 猫咪成人在线观看| 5278欧美一区二区三区| 青青免费在线视频| 在线观看91精品国产入口| 无码人妻丰满熟妇啪啪欧美| 秋霞电影一区二区| 影音先锋在线亚洲| 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 色丁香久综合在线久综合在线观看| 一二三不卡视频| 日韩精品免费视频人成| 亚洲在线欧美| 欧美片网站免费| 欧美精品电影在线| 午夜性色福利视频| 欧洲国内综合视频| 国产探花在线视频| 成人性生交大片免费看视频在线| 日本福利视频在线| 不卡在线一区| 99久久伊人精品影院| 天堂电影一区| 中文字幕亚洲欧美一区二区三区| av免费在线不卡| 亚洲r级在线视频| 一级片视频免费看| 国产资源精品在线观看| 精品无码国模私拍视频| 日本不卡高清| 国产伦精品一区二区三区高清| 亚洲美女久久精品| 久久久成人av| 日本一本草久在线中文| 911精品产国品一二三产区| 日韩免费一二三区| 国产人成亚洲第一网站在线播放| 小日子的在线观看免费第8集| 一本色道88久久加勒比精品| 一区二区不卡视频| 美女网站色精品尤物极品姐弟| 国产精品精品视频一区二区三区| 欧美色图天堂| 中文字幕亚洲综合久久| 亚洲精品视频专区| 欧美日韩中文精品| 97超碰人人干| 亚洲欧美另类久久久精品| 日韩网站在线播放| 国产成人福利片| 亚洲欧美久久久久| 一区二区三区高清视频在线观看| 曰韩不卡视频| 欧美日韩高清| 九色91视频| 视频在线一区| 亚洲一区二区自拍| jizz亚洲女人高潮大叫| 欧美一级高清免费播放| 在线三级中文| www.欧美精品| 国产资源在线观看| 亚洲国产高清福利视频| 99精品人妻无码专区在线视频区| 欧美午夜女人视频在线| 成人免费看片98| 日韩理论片网站| 国产成人精品无码免费看夜聊软件| 99久久婷婷国产综合精品| 美女被艹视频网站| 美女任你摸久久| 国产视频一区二区三区在线播放 | 精品久久久久久久久国产字幕| 免费成人av电影| 国产亚洲欧美日韩高清| 欧美激情一区二区三区蜜桃视频| 男插女视频网站| 久久国产夜色精品鲁鲁99| 国产精品无码专区av在线播放 | 四虎永久免费网站| 久久人体视频| 日本不卡免费新一二三区| 天堂成人娱乐在线视频免费播放网站| 91精品国自产在线观看| 99综合久久| 成人女保姆的销魂服务| 日韩在线激情| 成人日韩av在线| 日本成人在线网站| 国产免费一区二区三区香蕉精| 欧美日韩亚洲国产| 国产精品久久久久久影视| 国产精品亚洲d| 国产精品日韩在线观看| 免费在线观看一区| 成人免费视频网| 亚洲综合视频| 亚洲精品免费在线视频| 日韩精品一级| 国产精品久久精品视| 欧美sss在线视频| 欧美黑人xxxxx| 国产99久久久国产精品成人免费 | chinese偷拍一区二区三区| 亚洲香蕉在线观看| 亚洲成a人v欧美综合天堂麻豆| 久久精品在线视频| 污视频免费在线观看| 欧美精品第一页在线播放| 欧美日韩在线观看首页| 日本精品久久久久影院| a∨色狠狠一区二区三区| 成人高h视频在线| 视频一区日韩| 欧美不卡福利| 999久久久91| 99久久久精品视频| 亚洲综合不卡| 手机看片一级片| 国产精品一区二区免费不卡| 少妇激情一区二区三区视频| 久久久久久久久免费| 多男操一女视频| 亚洲va欧美va天堂v国产综合| 最近免费中文字幕大全免费版视频| 欧美日精品一区视频| 精品人妻少妇AV无码专区| 久久久国产精品视频| 精品国产乱码一区二区| 欧美丝袜第一区| 亚洲无码久久久久| 精品裸体舞一区二区三区| 欧美日韩国产综合视频| 久久国产日韩欧美精品| 三年中国国语在线播放免费| 极品美女销魂一区二区三区免费| 激情av中文字幕| 国产女主播一区| 国产性生活网站| 欧美在线观看禁18| 亚洲欧美高清视频| 中文国产亚洲喷潮| www在线观看黄色| 国产精品亚洲精品| 欧美爱爱网站| 麻豆视频传媒入口| 日韩电影一区二区三区| 国产日韩视频一区| 国产精品天美传媒| 天天综合天天干| 欧美一区二区三区男人的天堂| 免费在线超碰| 隔壁老王国产在线精品| 亚洲欧美专区| 欧美一区1区三区3区公司 | 久久综合久久综合九色| 成人性生活毛片| 色88888久久久久久影院野外| 成人黄色免费视频| 色999日韩欧美国产| 中文字幕21页在线看| 粉嫩精品一区二区三区在线观看| 色婷婷综合网| 日韩亚洲在线视频| 99国产精品久久久久| 久热这里有精品| 欧美日韩免费高清一区色橹橹| 香蕉久久一区二区三区| 欧美高清性猛交| 99精品女人在线观看免费视频 | 亚洲作爱视频| 久久无码专区国产精品s| 亚洲人成网站影音先锋播放| 中文字幕av网站| 亚洲午夜性刺激影院| 欧美第一视频| 日本在线视频不卡| 久久久蜜桃一区二区人| 给我看免费高清在线观看| 亚洲高清视频的网址| 亚洲第一成年人网站| 欧美成人在线免费视频| www 久久久| 国产又黄又爽免费视频| 麻豆成人av在线| 91制片厂在线| 欧美精品成人一区二区三区四区| av中文字幕在线| 国产精品久久久久久av福利| 成人在线国产| 国产精品区在线| 综合网在线视频| 国产喷水吹潮视频www| 久久国产精品网站| 99国产精品久久一区二区三区| 青青草综合在线| 国产a区久久久| 91久久国产视频| 国产偷亚洲偷欧美偷精品| 欧美xxx性| 亚洲高清视频在线观看| 麻豆国产一区二区| 538精品在线观看| 亚洲精品美女久久久| 桃子视频成人app| 正在播放国产精品| 国产成人亚洲综合色影视| 国产精品不卡av| 亚洲欧美在线看| 婷婷激情成人| 人人妻人人澡人人爽欧美一区 | 日韩免费性生活视频播放| 超碰97免费在线| 久久久久se| 日本成人在线电影网| 男女做暖暖视频| 亚洲福利视频免费观看| 欧美gay视频| 乱子伦一区二区| 97精品电影院| 一二三四区在线| 久久全国免费视频| av资源久久| 蜜桃视频无码区在线观看| 午夜精品久久久久久久久| 韩国中文字幕2020精品| 91系列在线播放| 99精品国产99久久久久久福利| 成人激情五月天| 欧美一级高清大全免费观看| 极品视频在线| 致1999电视剧免费观看策驰影院| 国产91色综合久久免费分享| 亚洲成人第一网站| 另类天堂视频在线观看| 一本色道久久综合亚洲精品酒店| 在线观看免费av网址| 午夜精品福利一区二区三区av| av中文资源在线| 国产欧美日韩亚洲| 精品制服美女久久| 亚洲视频 欧美视频| 欧美大学生性色视频| 精品理论电影在线| 亚洲一区二区三区四区av| 精品污污网站免费看| 亚洲校园激情春色| 免费人成自慰网站| 国产精品乱码一区二三区小蝌蚪|