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

时间:2011-09-09 20:26:07

标签: smalltalk pharo

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

我想知道的是,有没有办法传递脚本或命令行选项,并让Pharo绕过我的应用程序和启动?我想我确切地知道我的代码中需要更改的位置,所以即使我可以(从命令行)提交补丁,也可以使用。

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

1 个答案:

答案 0 :(得分:2)

您可以尝试将.st文件传递给图像。但是,可以在处理文件之前执行违规代码(在处理参数之前执行所有启动方法)。在这种情况下,您唯一的选择是构建调试VM。手动编辑VM或使用gdb以避免执行套接字代码后,修复现在运行的映像中的代码并保存。然后,您将能够在常规VM上运行它。有关构建VM的信息,请参阅Mariano Martinez Peck的优秀帖子/截屏视频like this one。另外,请参阅this thread on the Pharo列表,了解我的经验。

n.b。这可能需要一段时间,因此请考虑通过简单地开始新图像进行权衡。