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