Lisp Scheme Part24
■ このスレッドは過去ログ倉庫に格納されています
0399デフォルトの名無しさん
2008/11/15(土) 13:37:28ネイティブのデバッガの開発が高くつくのは
ネイティブコードをデバッグするのが難しいというよりも
「任意の」ネイティブコードをデバッグするのが難しいという理由です。
コンパイラとデバッガをセットで開発できるなら、例えば
(define (waha x)
(print x))
を
@define-function waha
@enter-function waha [何がしかのデバッグ情報]
@start-line [(print x)のある行] [何がしかのデバッグ情報]
@print x
@leave-function waha
(@はコンパイルされた命令ということにしてください)
とコンパイルし、その後、enter-functionやstart-lineの呼び出しを
デバッガ側でフックできれば、デバッガの開発はそこまで難しくはありません。
もちろんデバッガ側では、enter-functionに登録された関数がコールバックされれば
スタックトレースやローカル関数の一覧を更新し、start-lineの場合は
ブレイクを行うか調べたり、現在実行している行の更新を行ったりします。
まあ、そこまで難しくないというだけで、ある程度のマンパワーが必要なのは事実なのですが。
■ このスレッドは過去ログ倉庫に格納されています