2

SS、DBX、およびアプリをロードしたばかりの新しい Pharo 1.3 イメージがあります。OSX10.6 で最新の Cog VM を使用しています。VM がランダムにクラッシュし、イメージを再起動しようとすると、すぐに終了します。スタック トレースは、アプリが開いているソケットの読み取りエラーを取得していることを示しています。もちろん、それはもう存在しません。

私が知りたいのは、スクリプトまたはコマンド ライン オプションを渡し、Pharo にアプリとスタートアップをバイパスさせる方法はありますか? コードのどこを変更する必要があるかは正確にわかっていると思うので、(コマンド ラインから) パッチを提出できたとしても、それも機能します。

基本的に、イメージを起動し、コードを操作し、保存して通常どおり再起動するためのセーフ モードが必要です。

4

1 に答える 1

2

.st ファイルをイメージに渡してみてください。ただし、問題のあるコードは、ファイルが処理される前に実行される可能性があります (すべての起動メソッドは、引数を処理する前に実行されます)。この場合、唯一のオプションは、デバッグ VM を構築することです。VM を手動で編集するか、gdb を使用してソケット コードの実行を回避したら、現在実行中のイメージのコードを修正して保存します。その後、通常の VM で実行できるようになります。VM の構築については、このようなMariano Martinez Peck の優れた投稿/スクリーンキャストを参照してください。また、これを行った私の経験については、Pharo リストのこのスレッドを参照してください。

これにはかなり時間がかかる場合があるため、単純に新しいイメージを開始することとのトレードオフを考慮してください。

于 2011-09-10T01:50:05.497 に答える