|
有時候,面對一個bug,左思右想就是無法理解為什么。 我就有過這樣的經(jīng)歷,耗時整個一個晚上,后來還是放棄了。不得不在所有可能的點都加上日志,部署等待再次報錯,真的很讓人抓狂!
而實際上,解決一個bug的關(guān)鍵就是復(fù)現(xiàn)(reproduce),真正解決bug也許就是改動一兩個字符的事情。
因此,如果能夠知道出錯函數(shù)被調(diào)用的時候的參數(shù)值,以及整個函數(shù)調(diào)用鏈條,那么對于復(fù)現(xiàn)和理解這個bug,就相當(dāng)有用了。 今天,給大家安利一個很不錯的Fundebug小程序bug監(jiān)控插件,它可以監(jiān)控函數(shù)的調(diào)用以及記錄函數(shù)參數(shù)值。
Fundebug提供網(wǎng)站、微信小程序和小游戲的bug監(jiān)控服務(wù)。我看了一下,前端監(jiān)控和游戲監(jiān)控做得也不錯,有機會可以試用一下。 微信小程序插件的接入和接入百度統(tǒng)計一樣簡單,在此我就不費口舌了。 值得注意的是,F(xiàn)undebug的官方文檔有寫到: 插件默認(rèn)僅收集出錯信息,保護隱私,收集systemInfo和userInfo需要開發(fā)者進行配置。 同理,如果想要監(jiān)控函數(shù)調(diào)用和記錄函數(shù)參數(shù)值,需要手動配置。
造個錯看看效果,我在getPhoneNumber函數(shù)的第一行故意獲取不存在的值:
因為參數(shù)e的值中根本沒有number,所以就容易理解出錯的原因了。 |