剛修改的服務(wù),推到開發(fā)環(huán)境之后,總是時(shí)不時(shí)的崩潰,但是不知道為什么。嘗試找到他的最后一次調(diào)用,也沒有復(fù)現(xiàn)。 沒有辦法,只能抓dump了。 開啟崩潰自動(dòng)dump,網(wǎng)絡(luò)上很多,不贅述了。 拿到dump之后,首先看看是什么類型的異常 如圖所示,是個(gè)棧溢出的異常。 打印一下堆棧,發(fā)現(xiàn)密密麻麻的全是這個(gè)代碼。
剛修改的服務(wù)推到開發(fā)環(huán)境后,經(jīng)常出現(xiàn)崩潰的情況,但原因卻難以捉摸。嘗試找到最后一次調(diào)用,卻無法復(fù)現(xiàn)。
為了解決問題,只能進(jìn)行dump抓取。
開啟崩潰自動(dòng)dump,網(wǎng)絡(luò)上有很多相關(guān)方法,這里就不再贅述。
拿到dump后,首先需要查看異常類型。
從圖中可以看出,出現(xiàn)了棧溢出異常。
打印堆棧后,發(fā)現(xiàn)代碼中充斥著這個(gè)異常。
我們找到了這個(gè)對(duì)象,發(fā)現(xiàn)其中的隱式轉(zhuǎn)換代碼存在問題。
隱式轉(zhuǎn)換應(yīng)該是將傳入的內(nèi)容轉(zhuǎn)換為指定的格式,但結(jié)果在返回時(shí)卻返回了傳入的類型,導(dǎo)致在嘗試轉(zhuǎn)換為目標(biāo)類型時(shí)再次觸發(fā)了隱式轉(zhuǎn)換,從而導(dǎo)致無限遞歸。
最后,排查項(xiàng)目中所有類似代碼,發(fā)現(xiàn)只有這一處存在問題。如果沒有使用windbg,基本上很難找到具體原因。Windbg真是牛B。
小編推薦閱讀機(jī)器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實(shí)現(xiàn)對(duì)象集合與DataTable的相互轉(zhuǎn)換
閱讀鴻蒙NEXT元服務(wù):論如何免費(fèi)快速上架作品
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細(xì)使用
閱讀Java代理模式:靜態(tài)代理和動(dòng)態(tài)代理的對(duì)比分析
閱讀Win11筆記本“自動(dòng)管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)