绕过启动代码以防止映像在启动时崩溃



我有一个新的Pharo 1.3图像,我刚刚加载了SS, DBX和我的应用程序。我在OSX10.6上使用最新的Cog VM。虚拟机随机崩溃,当我尝试重新启动映像时,它立即退出。堆栈跟踪显示我的应用程序在读取打开的套接字时出现错误,当然,这个套接字已经不存在了。

我想知道的是,是否有办法通过脚本或命令行选项,并有Pharo绕过我的应用程序和启动?我想我确切地知道在我的代码中我需要改变的地方,所以即使我可以(从命令行)提交一个补丁,这也会工作。

基本上,我需要的是一个安全的模式来启动图像,操作代码,保存和重新启动正常。

您可以尝试将.st文件传递给图像。然而,有问题的代码可能在处理文件之前执行(所有的启动方法都在处理参数之前执行)。在这种情况下,您唯一的选择是构建一个调试VM。在手动编辑VM或使用gdb避免执行套接字代码之后,在正在运行的映像中修复代码并保存。然后您就可以在普通VM上运行它了。关于构建虚拟机,请参阅Mariano Martinez Peck的优秀帖子/视频。此外,请参阅Pharo列表上的这条线程,了解我这样做的经验。

的被害者。这可能需要相当长的一段时间,所以考虑简单地开始一个新图像的权衡。

最新更新