Pointer Detective - 检查对象(实例)并执行" PointerDetective openOn:self。"在Pharo中导致系统错误?
该对象是一个WhateverRoot实例(WAComponent的子类),它具有" canBeRoot ^ true。"
我做错了吗?
PS。我的眼睛"在错误的第9行发现错字。 "' 原始错误:' ,标题为字符串。"。也许吧,也许......
答案 0 :(得分:0)
Pharo 3: 在接近问题时管理为零。似乎问题只发生在PointerDetective的最新提交(10)上。之前的那个(9)就像宣传的那样工作。这个"弱自我"错误仅发生在最近的提交中。
Squeak 4.5和Pharo 4(前沿):还在Squeak 4.5 All In One和最新的Pharo 4版本上尝试了最新的提交(10),他们都弹出了调试器而不是白色崩溃。
易于复制,即使smalltalkhub页面上的示例也会崩溃。
复制步骤:
获取Pharo 3
打开蒙蒂塞洛
添加存储库。
打开存储库。
选择最新提交(10)
负载
打开工作区
粘贴示例并执行操作 - >白屏按esc删除。
testObject := 'END5'.
ref1 := { testObject. nil }.
ref2 := { ref1 }.
ref3 := PDTestResource new heldObject: ref2.
ref1 at: 2 put: ref3. "note the reference loop this creates"
PointerDetective openOn: testObject.