<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><font size="4">Hi, <br>
</font></p>
<p>I tested latest DrGeo with my students last Friday. There are
very good bug discoverers! My plate is full.<br>
</p>
<p>It is in the context of programming Smalltalk sketch. So we use
the SmalltalkSketchEditor of DrGeo with its minimalist debugger.</p>
<p>One student found that when hitting the "Step by Step" button of
the editor when there is an empty code to compile, leads to an
infinite loop (hopefully breakable with alt-[.])<br>
</p>
<p>The problem also occurs with simple code as "1". <br>
</p>
<p>I don't understand the arcane of the debugger and related
compiler stuff, so help will be welcome to found out. I enclosed
the debug log.<br>
</p>
<p>The involved methods are the my init of the debugger session:</p>
<p><b>DrGSmalltalkEditor>>debugSketch</b><br>
"model ifEmpty: [^ self]."<br>
self stopSketch.<br>
self isDocVisible ifTrue: [self toggleHelp].<br>
codeView scroller acceptContents.<br>
codeView editor <br>
afterCompiling: model <br>
do: [ :compiler :method :receiver :context | method
ifNotNil: [<br>
debugger _ Debugger <br>
openMinimalDebugging: [<br>
method<br>
valueWithReceiver: receiver <br>
arguments: (context ifNil: [ #() ]
ifNotNil: [ { context } ])]<br>
to: method.<br>
debugger layoutMorph borderWidth: 1.<br>
codeAndViewPanel replaceSubmorph: codeView by:
debugger layoutMorph. <br>
debugger model when: #closeViews send: #stopDebbuger
to: self.<br>
debugger contextVariableInspector selectionIndex:
3.]<br>
]<br>
ifFail: [].</p>
<p>and <br>
</p>
<p><b>Debugger class>>openMinimalDebugging: aBlock to:
aCompiledMethod </b><br>
"Create a new process to debug aBlock, and step into it."<br>
<br>
| processToDebug debugger window |<br>
debugger _ self new.<br>
processToDebug _ aBlock newProcess name: 'debugIt'.<br>
debugger process: processToDebug context: processToDebug
suspendedContext.<br>
window _ debugger openMinimalMorphic.<br>
[debugger interruptedContext method == aCompiledMethod]<br>
whileFalse: [debugger send].<br>
^ window <br>
</p>
<p><br>
</p>
<p>Then image is stuck in the method<b> </b><b>doPrimitive:
primitiveIndex method: meth receiver: receiver args: arguments</b></p>
<p>I also observed in this method several messages<b> </b>are
unimplemented methods (colored in red in the Browser)<br>
</p>
<p>I can't tell if it is a problem of Cuis or DrGeo...</p>
<p>If one want to experiment the bug, just download latest DrGeo at
<a class="moz-txt-link-freetext" href="http://dev.drgeo.eu">http://dev.drgeo.eu</a> and open its Smalltalk Sketch editor from the
world menu then hit the "step by step" iconic button.</p>
<p>Thanks</p>
<p>Hilaire<br>
</p>
<pre class="moz-signature" cols="72">--
GNU Dr. Geo
<a class="moz-txt-link-freetext" href="http://drgeo.eu">http://drgeo.eu</a>
<a class="moz-txt-link-freetext" href="http://blog.drgeo.eu">http://blog.drgeo.eu</a></pre>
</body>
</html>