OpenBoot 2.x コマンド・リファレンスマニュアル

ftrace の使用方法

ftrace コマンドは、最後の例外割り込み時に実行されていた Forth ワード処理を表示します。次に ftrace の例を示します。


ok : test1 1 ! ; 
ok : test2 1 test1 ; 
ok test2 
Memory address not aligned
ok ftrace 
!   Called from test1 at ffeacc5c
test1 Called from test2 at ffeacc6a
(ffe8b574) Called from (interpret at ffe8b6f8
execute Called from catch at ffe8a8ba
    ffefeff0
    0
    ffefebdc
catch   Called from (fload) at ffe8ced8
    0
(fload) Called from interact at ffe8cf74
execute Called from catch at ffe8a8ba
    ffefefd4
    0
    ffefebdc
catch Called from (quit at ffe8cf98

上記の例では、test2test1 を呼び出し、test1 は境界に合わないアドレスに値を格納しようとします。その結果、Memory address not aligned という例外が発生します。

ftrace の出力の 1 行目は、例外を発生させた最後のコマンドを示しています。2 行目以降は、その後のコマンドが呼び出されようとしていたメモリーアドレスを示しています。

最後の 13 行は、通常どの ftrace の出力とも同じですが、これは、それが Forth インタプリタが入力ストリームからワードを解釈するときに有効な呼び出し処理であるからです。