[英]Pharo state corrupt, how to save my code?
使用DynamicComposableModel並在調試器中編輯我的方法后,我的Pharo 6.1映像已達到以下狀態:
Instance of SpecLayout did not understand #visibleSlots
和
Instance of SpecLayout did not understand #instVarNames
。 由於這些錯誤,我無法“歸檔”我的代碼。 我什至無法瀏覽我的課程,該課程實際上稱為“ UIVidya”,應通過以下方式定義
ComposableModel subclass: #UIVidya
instanceVariableNames: 'vidya listE editE tabmgr'
classVariableNames: ''
poolDictionaries: ''
category: 'vkVidya'!
。 在破碎的圖像中, UIVidya classLayout
返回SpecLayout 。 在健康的圖像中, UIVidya classLayout
返回FixedLayout 。 我沒有故意進行此更改,甚至都不知道它是如何發生的。 我可以在不放棄最近更改的情況下就地修復破碎的Pharo圖像嗎?
您的圖像看起來好像不完整。 第二條錯誤消息表明您有一個SpecLayout
實例,其中SpecLayout
一個class
(可能是SpecLayout
)。 嘗試定義方法
instVarNames
^self class instVarNames
visibleSlots
^self class visibleSlots
在SpecLayout
的實例端查看是否可以繼續查找損壞的對象。 您可以隨時返回此處獲取更多信息。 修復問題后,請不要忘記刪除新的偽造方法。
通過在Playground中執行以下操作,我得以恢復正常狀態:
UIVidya layout: sdfgh
(與UIVidya layout: nil
相同UIVidya layout: nil
)。 感謝您的關注,真正幫助了我們積極使用系統瀏覽器和Playground比較損壞和未損壞的Pharo實例。 現在,我可以“歸檔”我的代碼了!
問題來自https://benjamin.vanryseghem.com/projects/spec/docs/dynamic/上的過時教程,其中包含發送layout:
代碼layout:
。 不要在現代Pharo中這樣做!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.