Hi Nicolai, On Fri, Jun 24, 2016 at 09:15:41PM +0200, Nicolai Hess wrote:
2016-06-24 20:57 GMT+02:00 Alistair Grant <akgrant0710@gmail.com>:
Hi All,
I'm currently regularly hitting an issue with the debugger where inspecting a temporary variable shows the string "error obtaining field value" rather than the actual value.
I am not sure if this is the same error. We had a couple of issues with reading different kinds of variables in the debugger, and some fix work for one access and introduces new issues for other kinds of variables :(
Most things are working now, but we have still an issue in Pharo 6.0 with block local vars in optimized blocks (case 17343) But I think this one is a different issue. Before we open a new issue, it would be good if I can reproduce this one. Give me some time ( or some hints) what I need to reproduce this)
Thanks for your reply. I've created a class that reproduces the problem: 'From Pharo5.0 of 16 April 2015 [Latest update: #50757] on 24 June 2016 at 9:51:07.97744 pm'! Object subclass: #AKGDebuggerBug instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'AKG-Bugs'! !AKGDebuggerBug methodsFor: 'demo' stamp: 'AlistairGrant 6/24/2016 21:49'! method1 "AKGDebuggerBug new method1" self method2: [ 'hello world' ].! ! !AKGDebuggerBug methodsFor: 'demo' stamp: 'AlistairGrant 6/24/2016 21:50'! method3: aBlock | result | [ result := aBlock value ] value. ^result.! ! !AKGDebuggerBug methodsFor: 'demo' stamp: 'AlistairGrant 6/24/2016 21:50'! method2: aBlock | result | [ result := aBlock numArgs = 1 ifTrue: [ aBlock value: self ] ifFalse: [ aBlock value ] ] value. ^ result! ! Debugging "AKGDebuggerBug new method1" and stepping through to where result is assigned in method2: will trigger the problem. Note that modifying method1 to call method3: will not reproduce the problem. Thanks, Alistair