note
gaal
Something that's <em>missing</em> in the debugger is "set next statement", something that some c and Java debuggers have. And differential compilation, but that's probably even more difficult. Eg.
<p><c># ...
107 sub foo {
108 my $x;
109 $x = 43;
110 => die "invalid x!" unless $x == 42;
111 print "Yay!"
112 # ...
</c>
<p>At this point, I notice I have a bug so I edit line 109 (the source code on disk changes):
<p><c>109 $x = 43;
# When I hit "save", foo is recompiled. If line numbers
# have changed, breakpoints are updated.
</c>
<p>And set the next instruction to it again. Then I hit s/n/c/whatever and keep going.
509118
509118