微信小程序之無(wú)埋點(diǎn)函數(shù)調(diào)用監(jiān)控
而實(shí)際上,解決一個(gè)bug的關(guān)鍵就是復(fù)現(xiàn)(reproduce),真正解決bug也許就是改動(dòng)一兩個(gè)字符的事情。
因此,如果能夠知道出錯(cuò)函數(shù)被調(diào)用的時(shí)候的參數(shù)值,以及整個(gè)函數(shù)調(diào)用鏈條,那么對(duì)于復(fù)現(xiàn)和理解這個(gè)bug,就相當(dāng)有用了。
今天,給大家安利一個(gè)很不錯(cuò)的Fundebug小程序bug監(jiān)控插件,它可以監(jiān)控函數(shù)的調(diào)用以及記錄函數(shù)參數(shù)值。
Fundebug提供網(wǎng)站、微信小程序和小游戲的bug監(jiān)控服務(wù)。我看了一下,前端監(jiān)控和游戲監(jiān)控做得也不錯(cuò),有機(jī)會(huì)可以試用一下。
微信小程序插件的接入和接入百度統(tǒng)計(jì)一樣簡(jiǎn)單,在此我就不費(fèi)口舌了。
值得注意的是,F(xiàn)undebug的官方文檔有寫(xiě)到:
插件默認(rèn)僅收集出錯(cuò)信息,保護(hù)隱私,收集systemInfo和userInfo需要開(kāi)發(fā)者進(jìn)行配置。
同理,如果想要監(jiān)控函數(shù)調(diào)用和記錄函數(shù)參數(shù)值,需要手動(dòng)配置。
造個(gè)錯(cuò)看看效果,我在getPhoneNumber函數(shù)的第一行故意獲取不存在的值:
候的調(diào)用函數(shù)getPhoneNumber和傳入的參數(shù)。
因?yàn)閰?shù)e的值中根本沒(méi)有number,所以就容易理解出錯(cuò)的原因了。