Can you try if this is working with this change (attach .st) I'll open an issue and do some more tests. 2016-06-24 21:56 GMT+02:00 Alistair Grant <akgrant0710@gmail.com>:
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