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