From: "NAKAMURA, Hiroshi" Date: 2002-02-04T16:21:06+09:00 Subject: [ruby-dev:15844] [ruby-talk:32952] Re: Frame glitches in Ruby debugger? This is a multi-part message in MIME format. ------=_NextPart_000_0036_01C1AD97.C1CDEE10 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit なひです。Subjectの件の、debug.rbへのpatchです。 2つありますが効果は同じです。どちらかひとつを当てると 対応できます。debug.rb.patch.1は少し余計なところまで いじってあり、debug.rb.patch.2は対症療法です。 1.6は後者でいいかも。 * debug.rb: Illegal frame number dumped after up/down command. Good catch by Laurent Julliard. [ruby-talk:32952] ------=_NextPart_000_0036_01C1AD97.C1CDEE10 Content-Type: application/octet-stream; name="debug.rb.patch.2" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="debug.rb.patch.2" --- debug.rb.dist Fri Jun 29 22:02:16 2001=0A= +++ debug.rb Mon Feb 4 16:11:16 2002=0A= @@ -449,5 +449,5 @@ class DEBUGGER__=0A= end=0A= binding, binding_file, binding_line =3D @frames[frame_pos]=0A= - stdout.printf "#%d %s:%s\n", frame_pos, binding_file, binding_line=0A= + stdout.printf "#%d %s:%s\n", frame_pos + 1, binding_file, = binding_line=0A= =0A= when /^\s*down(?:\s+(\d+))?$/=0A= @@ -464,5 +464,5 @@ class DEBUGGER__=0A= end=0A= binding, binding_file, binding_line =3D @frames[frame_pos]=0A= - stdout.printf "#%d %s:%s\n", frame_pos, binding_file, binding_line=0A= + stdout.printf "#%d %s:%s\n", frame_pos + 1, binding_file, = binding_line=0A= =0A= when /^\s*fin(?:ish)?$/=0A= ------=_NextPart_000_0036_01C1AD97.C1CDEE10 Content-Type: application/octet-stream; name="debug.rb.patch.1" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="debug.rb.patch.1" --- debug.rb.dist Fri Jun 29 22:02:16 2001=0A= +++ debug.rb Mon Feb 4 16:07:52 2002=0A= @@ -449,5 +449,5 @@ class DEBUGGER__=0A= end=0A= binding, binding_file, binding_line =3D @frames[frame_pos]=0A= - stdout.printf "#%d %s:%s\n", frame_pos, binding_file, binding_line=0A= + display_frame_pos(frame_pos)=0A= =0A= when /^\s*down(?:\s+(\d+))?$/=0A= @@ -464,5 +464,5 @@ class DEBUGGER__=0A= end=0A= binding, binding_file, binding_line =3D @frames[frame_pos]=0A= - stdout.printf "#%d %s:%s\n", frame_pos, binding_file, binding_line=0A= + display_frame_pos(frame_pos)=0A= =0A= when /^\s*fin(?:ish)?$/=0A= @@ -592,5 +592,4 @@ EOHELP=0A= =0A= def display_frames(pos)=0A= - pos +=3D 1=0A= n =3D 0=0A= at =3D @frames=0A= @@ -598,10 +597,17 @@ EOHELP=0A= n +=3D 1=0A= break unless bind=0A= - if pos =3D=3D n=0A= - stdout.printf "--> #%d %s:%s%s\n", n, file, line, id ? ":in = `#{id.id2name}'":""=0A= + if (pos + 1) =3D=3D n=0A= + stdout.print "--> "=0A= else=0A= - stdout.printf " #%d %s:%s%s\n", n, file, line, id ? ":in = `#{id.id2name}'":""=0A= + stdout.print " "=0A= end=0A= + stdout.printf "#%d %s:%s%s\n", n, file, line,=0A= + id ? ":in `#{id.id2name}'":""=0A= end=0A= + end=0A= +=0A= + def display_frame_pos(pos)=0A= + binding, binding_file, binding_line =3D @frames[pos]=0A= + stdout.printf "#%d %s:%s\n", (pos + 1), binding_file, binding_line=0A= end=0A= =0A= ------=_NextPart_000_0036_01C1AD97.C1CDEE10--