記一次棧溢位異常問題的排查

连程發表於2024-04-16

剛修改的服務,推到開發環境之後,總是時不時的崩潰,但是不知道為什麼。嘗試找到他的最後一次呼叫,也沒有復現。

沒有辦法,只能抓dump了。

開啟崩潰自動dump,網路上很多,不贅述了。

拿到dump之後,首先看看是什麼型別的異常

如圖所示,是個棧溢位的異常。

列印一下堆疊,發現密密麻麻的全是這個程式碼。

我們找到這個物件,發現裡邊有個隱式轉換的程式碼有點問題。

隱式轉換的應該是將傳入的內容轉為轉出的格式,結果在返回的時候,返回了傳入的型別,導致,他想要轉成目標型別的時候,又觸發了隱式轉換,然後就無限遞迴了。

最後排查專案中所有的類似程式碼,發現只有這一處,沒有windbg基本上很難排查到具體原因。 windbg 牛B

相關文章