我正在为我们的产品实现跨平台脚本语言。需要检测并正确处理语言 VM 中的堆栈溢出情况。在你跳进去说首先确保没有堆栈溢出之前,请重新阅读我的第一句话 - 这是一种脚本语言,最终用户可能会用这种语言编写不正确的程序,这可能会导致堆栈溢出,例如无尽递归。
现在我知道如何在 Windows 中检测堆栈溢出并从中恢复(参见http://support.microsoft.com/kb/315937)。但是我无法为 Mac OS X 找到任何解决方案。
VM 使用 C++ 实现:Windows 上的 MSVC++,Mac OS X 上的 GCC。
理想情况下,该机制必须基于 UNIX 功能,因为我们还计划移植到 Linux。
谢谢。