[Bug,VW7.4] Debugger Run To Caret Problems et. al.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug,VW7.4] Debugger Run To Caret Problems et. al.

Wolfgang Mayer
DebugIt in a workspace:

#(a b c) do: [:each | ].

Step into the block, then place the caret after the block (or in the next line)
and press "run to caret". The debugger UI deadlocks.

Has anybody by chance got a fix for this?


If the caret is placed inside the block and "run to caret" is chosen, an
exception pops up [*]. I recall that a similar bug was reported earlier ("vw74
debugger Run to caret gives walkback"). Maybe the same fix applies to both
problems?


Another minor bug arises when setting conditional probes:

In case the probe condition expression refers to an undefined variable and
"correct spelling" is chosen in the dialog, the source string is not modified
to reflect the corrected variable name. Anyway, the compiled code seems to be
correct.


- Wolfgang


[*]

Key not found:
MethodDictionary(KeyedCollection)>>keyNotFoundErrorFor:index:
optimized [] in KeyedCollection>>at:
MethodDictionary>>at:ifAbsent:
MethodDictionary(KeyedCollection)>>at:
UndefinedObject class(Behavior)>>compiledMethodAt:
DebuggerService>>privateMakeFullMethod
optimized [] in DebuggerService>>basicMakeFullMethod
DebuggerService>>performDebugOperation:
DebuggerService>>basicMakeFullMethod
DebugTempProbeInserter(DebugProbeInserter)>>makeFullBlocks
DebugTempProbeInserter>>verifyFullBlocks
DebugTempProbeInserter(DebugProbeInserter)>>basicAddProbe
optimized [] in DebugProbeInserter>>addProbe:using:for:
BlockClosure>>on:do:
DebugTempProbeInserter(DebugProbeInserter)>>addProbe:using:for:
DebugProbeInserter class>>addProbe:using:for:
DebuggerService>>basicAddProbe:using:
DebuggerService>>privateSkipToCaret
optimized [] in DebuggerService>>basicSkipToCaret
optimized [] in [] in [] in DebuggerService>>performDebugOperation:
BlockClosure>>on:do:
optimized [] in [] in DebuggerService>>performDebugOperation:
BlockClosure>>on:do:
optimized [] in DebuggerService>>performDebugOperation:
optimized [] in [] in ProcessHandle>>performDebugOperation:
BlockClosure>>on:do:
optimized [] in ProcessHandle>>performDebugOperation:

Reply | Threaded
Open this post in threaded view
|

RE: [Bug,VW7.4] Debugger Run To Caret Problems et. al.

Terry Raymond
Wolfgang

Currently, this is an undocumented restriction in the debugger.
The basic issue is that a probe cannot be inserted into a
doIt method. In the case of run-to-caret when you do a run
to caret and the caret is not in the same block as the
selected context it inserts a probe.

I guess we either need to figure out how to insert probes in
doIt methods or disable the features in the debugger that
insert probes when debugging a doIt method.

Terry
 
===========================================================
Terry Raymond       Smalltalk Professional Debug Package
Crafted Smalltalk
80 Lazywood Ln.
Tiverton, RI  02878
(401) 624-4517      [hidden email]
<http://www.craftedsmalltalk.com>
===========================================================

> -----Original Message-----
> From: Wolfgang Mayer [mailto:[hidden email]]
> Sent: Friday, February 17, 2006 9:32 PM
> To: VWNC List
> Subject: [Bug,VW7.4] Debugger Run To Caret Problems et. al.
>
> DebugIt in a workspace:
>
> #(a b c) do: [:each | ].
>
> Step into the block, then place the caret after the block (or in the next
> line)
> and press "run to caret". The debugger UI deadlocks.
>
> Has anybody by chance got a fix for this?
>
>
> If the caret is placed inside the block and "run to caret" is chosen, an
> exception pops up [*]. I recall that a similar bug was reported earlier
> ("vw74
> debugger Run to caret gives walkback"). Maybe the same fix applies to both
> problems?
>
>
> Another minor bug arises when setting conditional probes:
>
> In case the probe condition expression refers to an undefined variable and
> "correct spelling" is chosen in the dialog, the source string is not
> modified
> to reflect the corrected variable name. Anyway, the compiled code seems to
> be
> correct.
>
>
> - Wolfgang
>
>
> [*]
>
> Key not found:
> MethodDictionary(KeyedCollection)>>keyNotFoundErrorFor:index:
> optimized [] in KeyedCollection>>at:
> MethodDictionary>>at:ifAbsent:
> MethodDictionary(KeyedCollection)>>at:
> UndefinedObject class(Behavior)>>compiledMethodAt:
> DebuggerService>>privateMakeFullMethod
> optimized [] in DebuggerService>>basicMakeFullMethod
> DebuggerService>>performDebugOperation:
> DebuggerService>>basicMakeFullMethod
> DebugTempProbeInserter(DebugProbeInserter)>>makeFullBlocks
> DebugTempProbeInserter>>verifyFullBlocks
> DebugTempProbeInserter(DebugProbeInserter)>>basicAddProbe
> optimized [] in DebugProbeInserter>>addProbe:using:for:
> BlockClosure>>on:do:
> DebugTempProbeInserter(DebugProbeInserter)>>addProbe:using:for:
> DebugProbeInserter class>>addProbe:using:for:
> DebuggerService>>basicAddProbe:using:
> DebuggerService>>privateSkipToCaret
> optimized [] in DebuggerService>>basicSkipToCaret
> optimized [] in [] in [] in DebuggerService>>performDebugOperation:
> BlockClosure>>on:do:
> optimized [] in [] in DebuggerService>>performDebugOperation:
> BlockClosure>>on:do:
> optimized [] in DebuggerService>>performDebugOperation:
> optimized [] in [] in ProcessHandle>>performDebugOperation:
> BlockClosure>>on:do:
> optimized [] in ProcessHandle>>performDebugOperation: