.mjt/nmosh/デバッガ


.mjt/nmosh/bootstrap-vanilla-mosh .mjt/nmosh/minidebugger

デバッガの起動フロー

  1. 例外が発生する
  2. nmoshのraiseが呼ばれる(標準のraiseではなく、nmosh側でoverrideしている) http://github.com/okuoku/mosh/blob/4ebf3264e34ffc38d85ac1af80d28ccbf973f891/boot/runtimes/srfi-mosh/mosh-exceptions.scm#L8
  3. overrideされたraiseは%nmosh-failprocが存在すれば%get-stack-trace-objを呼び出してスタックトレースオブエジェクトを取得し、%nmosh-failprocに渡す。何らかの理由で%nmosh-failprocが存在しない場合は異常終了する。
  4. %nmosh-failprocは(nmosh startup)に存在し、(nmosh debugger)ライブラリを呼び出す http://github.com/okuoku/mosh/blob/4ebf3264e34ffc38d85ac1af80d28ccbf973f891/boot/runtimes/srfi-mosh/lib.boot/nmosh/startup.nmosh.ss#L28
  5. (nmosh debugger)ライブラリが存在しないなら、minidebugを起動し、スタックトレースを表示する.mjt/nmosh/minidebugger http://github.com/okuoku/mosh/blob/4ebf3264e34ffc38d85ac1af80d28ccbf973f891/boot/runtimes/srfi-mosh/lib.boot/nmosh/minidebug.nmosh.ss
  6. minidebugはキャッシュレィデクトリからシンボルファイルを読み取り、シンボルを解決して表示する。

環境変数やオプションの指定で、例外時にREPLに戻れるようにする予定。

デバッグシンボルの生成

expander.scmのグローバル変数*DBG?*で制御する。

gitオブジェクト名の取得

デバッグシンボルファイル

.mjt/nmosh/ファイル形式

MENU

now: 2

リンク


最新の20件
2018-10-07 2018-09-20 2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-05-29 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 1025, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2010-02-11 (木) 08:01:51 (3203d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.045 sec.