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 インタプリタが入力ストリームからワードを解釈するときに有効な呼び出し処理であるからです。