There is a bug left in double nested blocks in the debugger (some variables then shows incorrect value). Retry with the old compiler (world menu>settings>compiler>Compiler) and see if this is fixed. 2013/11/11 Max Leske <maxleske@gmail.com>
Not sure if itâs related to your issue but Iâve been seeing swapped temporary variables in the debugger. The value used for execution is correct but in the view two variables will have the value of the other. Are you sure that the value *effectively* changes or could it be a visualization problem?
Max
On 11.11.2013, at 17:29, btc@openinworld.com wrote:
I'm not sure if I'm missing something, but there seems some strange behavior that I don't understand. The value of a block variable changes when stepping over a method that acts on that variable. I encountered this in Spec, but that seems co-incidental to the behaviour. SETUP 1. The attached "My-Spec-Tutorial-BenComan.1.mcz" (i.e. Bahman's tutorial) was loaded into build #30564.
2. A breakpoint was inserted after the first "e generateArguments" in... SpecRowLayout>>privateAsArray | result shouldCheckSplitters | result := OrderedCollection new. shouldCheckSplitters := false. (self commands reject: [:e | e isSplitter ]) do: [:e | ...lots..hidden.for..conciseness.... e generateArguments. self haltOnce. "<------------------" e asSpecElements do: [:el | result add: el ]].
3. The following was evaluated... Halt enableHaltOnce. MyFirstWindow new openWithSpec: #defaultSpec.
OBSERVATION 1. When the debugger opened at the breakpoint e = a SpecLayoutAdd
2. But after stepping over #asSpecElements e = an OrderedCollection()
So how did the value of 'e' change?
Where... SpecLayoutAdd(SpecLayoutSend)>>asSpecElements ^ {self selector.}, self arguments
SpecLayoutAdd(SpecLayoutSend)>>selector ^ selector
SpecLayoutAdd(SpecLayoutSend)>>arguments ^ arguments
This was on Windows 7. Since files.pharo.org is offline, I wasn't able to try a newer VM. My current was...
NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535
Win32 built on Mar 13 2013 18:49:42 Compiler: 4.6.2 VMMaker versionString git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535 NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
cheers -ben
<My-Spec-Tutorial-BenComan.1.mcz>