12 除錯

除錯(Debug) ,只能用於冒號定義的詞;低階(code)定義的詞無效

DEBUG 是將欲除錯的詞,轉換其NEXT 為 DEBNEXT,變成循跡狀態.

UNBUG 是將除錯循跡的詞,轉換其 DEBNEX 回為TNEXT,恢復成正常狀態.

除錯的動作開始以後,它會做一步,就停下來,

等我們按任何一鍵,才再做下一步.

如果要自動連續分解可以按C鍵.

如果我們要回到符式,我們就按F鍵.

如果除錯到一半,問題已經發現了,就可按Q鍵,這樣就又將DEBNEXT換回NEXT,恢復正常的狀態.

以下例說明

: SQUARE DUP *  ; <cr>

DEBUG SQUARE <cr>

5 SQUARE <cr>

: SQUARE 5 

DUP 5   5  <cr>

*   25 <cr>

UNNEST ok

UNBUG SQUARE

5 SQUARE <cr>

.  <cr> 25 ok