从检测到的glibc中优雅地退出 - malloc():内存损坏
问题描述:
有没有一种优雅的方式可以从C++中恢复以下内容?从检测到的glibc中优雅地退出 - malloc():内存损坏
\*** glibc detected *** glibc detected - malloc(): memory corruption **\*
我知道try
/catch
将无法正常工作,它似乎并不像使用signal
搬运工会擦出火花。
答
捕获SIGSEGV
将防止应用程序的突然终止。从那里我可以打印消息并优雅地退出。
我认为最好的方法是找到破损的代码并修复它。 – NathanOliver
您是否尝试过捕获SIGSEGV(信号n°11)?为什么要“优雅地退出”是否有特定的原因?这些错误应该很少被处理。大多数情况下,您应该在验尸后调试这些错误(并在程序遇到时保持程序崩溃状态)。 – nefas
当你有内存损坏的时候,优雅地恢复可能为时已晚。即使您能够捕捉并排除异常或处理信号,也不能保证应用程序的状态以任何方式理智或可用。 – Rook