我想写一个安全的程序,所以我会在程序开始时在堆中分配所需的空间。
toggle_panic_on_heap_allocation
?答案 0 :(得分:3)
不,你不能发现记忆错误。
有some discussion关于添加(部分)支持的问题,但是在捕获OOM错误方面存在很多问题。
您可以做的是开始一个新流程并通过ipc-channel
s与之沟通。然后,可能的过度定位过程将被杀死,另一个过程可以从中恢复并重新启动失败的过程。
你不能在运行时禁用堆分配,但这无论如何都不是很有趣,因为你的程序必须在堆分配时中止。相反,您应该静态检查没有堆分配。有一些工作/谈话在clippy中添加这样的静态分析"restriction"