Emergency Evaluator

Squeakでエラーが出るとエラーログファイル'SqueakDebug.txt'さえ出力せずにdesktopにエラー表示が出る場合があります.このエラーのプロンプトで次のSmalltalk式で復旧操作できます(http://wiki.squeak.org/squeak/1542 より).

Emergency Evaluatorのプロンプトで次の式を入力する

"直近のメソッドの変更をもどす(revertと同じ)"
Utilities revertLastMethodChange
"現在のプロジェクトを抜けて親のプロジェクトへ移行する"
Project current exit
"メニューのフルスクリーンをやめるのと同じ"
ScreenController new fullScreenOff
EmergencyEvaluator.png
Click to enlarge.
primitiveError
EmergencyEvaluator2.png
Click to enlarge.
Emergency Evaluator(上記画面で'Enter'キーで画面左上に出現する)

補足

もうちょっと詳しく見ると,この状態は#error:や#haltが再帰的に呼び出されると,Object>> primitiveError:が呼び出されCR(enter)キーが押された場合にEmergency Evaluator(Transcripter class>>emergencyEvaluator)が呼び出される.エラー情報を出力した後に,Transcripter> >readEvalPrintが呼び出される.Transcripter>>readEvalPrintでは入力行が 'revert'/'quit'/'exit'/'done'以外はCompiler class>>evaluate:で評価している.

しかし、ほとんどの場合キーを受け付けない状態になってしまったりして強制終了しなければならない.


コメント・つっこみ


添付ファイル: fileEmergencyEvaluator2.png 255件 [詳細] fileEmergencyEvaluator.png 260件 [詳細]

Last-modified: 2007-01-06 (土) 21:02:50 (4666d)