Racket/Debug
< Racket
Racket的內置debug僅限打印異常的上下文信息(即棧追蹤)
errortrace庫提供更詳細的信息,racket/trace庫提供簡單的上下文。
(require racket/trace)
導入trace庫
這裏的是racket/trace庫,而不是racket/base,他模仿了chez scheme的跟蹤程序。
(trace id ...)
每個id必須綁定一個trace環境中的一個過程。每個 id 都set!為一個新過程,該過程通過 current-trace-notify 打印調用的參數和結果來跟蹤過程調用和返回。如果返回值有多個,每個值在單獨的一行開始顯示。
當追蹤的過程相互調用的時候,嵌套調用只展示嵌套前綴,當嵌套深度超過了10,只會顯示一個數表示嵌套深度。