-1
有沒有一種優雅的方式可以從C++中恢復以下內容?從檢測到的glibc中優雅地退出 - malloc():內存損壞
\*** glibc detected *** glibc detected - malloc(): memory corruption **\*
我知道try
/catch
將無法正常工作,它似乎並不像使用signal
搬運工會擦出火花。
有沒有一種優雅的方式可以從C++中恢復以下內容?從檢測到的glibc中優雅地退出 - malloc():內存損壞
\*** glibc detected *** glibc detected - malloc(): memory corruption **\*
我知道try
/catch
將無法正常工作,它似乎並不像使用signal
搬運工會擦出火花。
捕獲SIGSEGV
將防止應用程序的突然終止。從那裏我可以打印消息並優雅地退出。
我認爲最好的方法是找到破損的代碼並修復它。 – NathanOliver
您是否嘗試過捕獲SIGSEGV(信號n°11)?爲什麼要「優雅地退出」是否有特定的原因?這些錯誤應該很少被處理。大多數情況下,您應該在驗屍後調試這些錯誤(並在程序遇到時保持程序崩潰狀態)。 – nefas
當你有內存損壞的時候,優雅地恢復可能爲時已晚。即使您能夠捕捉並排除異常或處理信號,也不能保證應用程序的狀態以任何方式理智或可用。 – Rook