<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Hilaire,<br>
    <br>
    On 4/27/2024 6:00 AM, Hilaire Fernandes via Cuis-dev wrote:
    <blockquote cite="mid:c21e62b2-8d60-4be4-a09c-192798e31433@free.fr"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p><font size="4">Hi Juan, <br>
        </font></p>
      <p><font size="4">Yes, sure here is a ready to test situation in
          the archive below. </font></p>
      <p><font size="4"><a moz-do-not-send="true"
            class="moz-txt-link-freetext"
href="https://www.dropbox.com/scl/fi/m9s9m1s50l3te8slmmet8/drgeoMiniDebugger.zip?rlkey=aofxd63uf3n3d5jqxutjcsy0z&st=roeypadk&dl=0">https://www.dropbox.com/scl/fi/m9s9m1s50l3te8slmmet8/drgeoMiniDebugger.zip?rlkey=aofxd63uf3n3d5jqxutjcsy0z&st=roeypadk&dl=0</a><br>
        </font></p>
    </blockquote>
    <br>
    Thanks. This is most helpful.<br>
    <br>
    <blockquote cite="mid:c21e62b2-8d60-4be4-a09c-192798e31433@free.fr"
      type="cite">
      <p><font size="4">In this Cuis image, the window at the top-left
          presents the Smalltalk sketch editor with the mini-debugger.
          The debugger presents the four local variables to the script f
          a b s, with the correct classes. But once you clic in one of
          these variables, its value is printed as nil.</font></p>
      <p><font size="4">In the Browser at the top-right, the method
          handling the exception and plugging the error. There is one
          line comment to open the regular debugger.<br>
        </font></p>
    </blockquote>
    <br>
    The regular debugger suspends the process being debugged, and debugs
    it from a separate UI process. In your code, by the time the mini
    debugger is opened, the sketch execution as already been terminated
    and pruned from the stack. So, those variables don't even exist at
    that point.<br>
    <br>
    A way to fix this is to suspend the sketch process, and debug it
    from outside it. Something like:<br>
    <br>
    executeSketch<br>
        | myContext |<br>
        self stopSketch.<br>
        codeView scroller acceptContents.<br>
        self switchToPauseButton.<br>
        DrGeoSketch when: #newSmalltalkSketch send: #compiledSketch: to:
    self.<br>
        sketchProcess := [ | t |<br>
            t := DateAndTime now.<br>
            (DrGeoSystem preferences at: #advancedDebugger) <br>
                ifTrue: [Compiler evaluate: model]<br>
                ifFalse: [<br>
                    [Compiler evaluate: model] <br>
                        on: Exception <br>
                        do: [:ex |<br>
                            myContext := ex signalerContext
    findContextSuchThat: [:aContext | <br>
                                aContext method defaultSelector ==
    #DoIt].<br>
                            "Debugger openProcess: sketchProcess
    context: myContext label: 'Debugg'"<br>
                            sketchProcess suspend ]<br>
                ].<br>
            " When we get there, sketch has been entirely executed,
    switch back to play button "<br>
            self switchToPlayButton.<br>
            Transcript show: DateAndTime now - t ;cr<br>
        ] newProcess.<br>
        sketchProcess <br>
            priority: Processor userSchedulingPriority + 1;<br>
            name: '[DrGeo] Smalltalk Sketch execution';<br>
            resume.<br>
        sketchProcess isSuspended ifTrue: [<br>
            debugger := Debugger <br>
                openMinimalDebuggingProcess: sketchProcess <br>
                context: myContext.<br>
            self plugDebugger ]<br>
    <br>
    <blockquote cite="mid:c21e62b2-8d60-4be4-a09c-192798e31433@free.fr"
      type="cite">
      <p><font size="4"> </font></p>
      <p><font size="4">Another issue, I have with both my mini-debugger
          and the stock debugger: the line of error in the code is not
          highlighted as expected.<br>
        </font></p>
    </blockquote>
    <br>
    I could not see this, but it is likely that update #6334 helps.<br>
    <br>
    You are still far from a working debugger. For instance, in this
    case, the error happens in a stack frame that is not visible, so you
    can't point the user to it. I don't know if a debugger without a
    view of the stack call is of use... Maybe if you set the context to
    the one throwing the Error?<br>
    <br>
    I wonder if it would best to simply use the regular debugger.<br>
    <br>
    <blockquote cite="mid:c21e62b2-8d60-4be4-a09c-192798e31433@free.fr"
      type="cite">
      <p><font size="4"> </font></p>
      ...<br>
      <p><font size="4"><br>
        </font></p>
      <p><font size="4">Thanks</font></p>
      <pre class="moz-signature" cols="72">-- 
GNU Dr. Geo
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://gnu.org/s/dr-geo/">http://gnu.org/s/dr-geo/</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://gnu-drgeo.blogspot.com/">http://gnu-drgeo.blogspot.com/</a></pre>
    </blockquote>
    <br>
    HTH,<br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>