微信小程序之無埋點函數(shù)調(diào)用監(jiān)控
而實際上,解決一個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)僅收集出錯信息,保護(hù)隱私,收集systemInfo和userInfo需要開發(fā)者進(jìn)行配置。
同理,如果想要監(jiān)控函數(shù)調(diào)用和記錄函數(shù)參數(shù)值,需要手動配置。
造個錯看看效果,我在getPhoneNumber函數(shù)的第一行故意獲取不存在的值:
候的調(diào)用函數(shù)getPhoneNumber和傳入的參數(shù)。
因為參數(shù)e的值中根本沒有number,所以就容易理解出錯的原因了。