1

を使用してGNU octave 3.6.4います。変更ログ (v 3.2)によると:

dbup と dbdown を使用したコール スタックの上下移動が機能するようになりました。

しかし、デバッグモードでdbup実行dbnextしてから実行すると、下のフレームの次の行が実行されます。これはなぜですか、どうすれば回避できますか?

octave -q
 octave:1> myfunc_base(2,3)
 stopped in /home/seb/octave/myfunc.m at line 5
 5:   keyboard
 debug> dbstack
 stopped in:
   -->      myfunc at line 5 [/home/seb/octave/myfunc.m]
            myfunc_base at line 4 [/home/seb/octave/myfunc_base.m]
 debug> dbup
 stopped in myfunc_base at line 4 % <-- looks good!
 debug> dbnext
 stopped in /home/seb/octave/myfunc.m at line 6 % <-- damn this is the old frame!
 6:   sp = a + temp;
 debug> 

2 つのテスト関数:

myfunc.m

function sp = myfunc (a, b, c)

  temp = b+c;
  keyboard
  sp = a + temp;

end 

myfunc_base.m

function sp = myfunc_base (aa, bb)

  temp = myfunc(aa, aa, bb);
  sp = aa + temp;

end 
4

1 に答える 1