<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-signature">Good morning,<br>
      <br>
      I read about a "time machine" debugger a long time ago. The
      debugger would collect all the information of all the calls and
      the programmer can just execute the code without breakpoints.
      Later, the programmer can follow the evolution of a variable until
      it reaches an erroneous value. I've never worked with that and it
      sounds really memory intensive, but the examples were quite
      interesting.<br>
      <br>
      When you are in a loop, you want to break at a certain iteration.<br>
      When you are in a recursive function, you want to stop at the
      right point.<br>
      etc.<br>
      <br>
      Cheers,<br>
      Hans<br>
      <br>
      <img src="http://polak.es/LogoVerde.jpg" style="height:250px"></div>
    <div class="moz-cite-prefix">On 03/10/18 16:51, Jonathan Fine wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CALD=Yf-nyWdP79fUPcH11qUvDsBY=rjn5FrvovU0a3sVS=5FPQ@mail.gmail.com">
      <pre wrap="">This thread is about debugging. I suggest we start by collecting
problems and possible solutions. And that after about a week of that,
we start discussing what we've gathered.

We already have a problem and possible solution, provided by Eric
Smith and Larry Hastings.

<begin>
TITLE: f-string "debug" conversion
URL: <a class="moz-txt-link-freetext" href="https://mail.python.org/pipermail/python-ideas/2018-October/053956.html">https://mail.python.org/pipermail/python-ideas/2018-October/053956.html</a>
PROBLEM
Writing
    print('value = ', value)
is tedious, particularly for more complicated expressions, such as
    print('big_array[5:20] =', big_array[5:20])

POSSIBLE SOLUTION

For f-strings, we add a !d conversion operator, which produces the
text of an expression followed by its value. Thus, the two previous
examples can be written more concisely as
    print(f'{value !d}')
    print(f'{big_array[5:20] !d}')
</end>

I suggest for the moment that we just gather problem-solution pairs,
much as above. I think they'll be between 5 and 15 such pairs. I'll
post one to the current discussion thread in an hour or so.

And that after about a week, we move to discussing what we have.
Finally, many thanks to Eric and Larry for their useful contribution
to the important problem of debugging.

</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>