フルスピードトレースのためのPythonインタープリタのデバッガサポート
スポンサーリンク
概要
- 論文の詳細を見る
Python あるいは Ruby のようなスクリプト言語のデバッガは,コールバック関数指定時に,インタープリタが line,call,return などのトレースイベントを通知するために起こすコールバックを解析することにより,ブレークやステップなどのデバッグイベントを検出する.しかし,トレースイベントごとのコールバックは,デバッギの仮想マシンコードの実行速度を 2 桁あるいは 3 桁オーダで著しく低下させてしまうという欠点がある.これは,大規模プログラムの効率良いデバッグの妨げとなる.そこで,インタープリタが提供すべき新しいデバッガサポートを提案する.このサポートでは,基本的にコールバックの生成は何らかのデバッグイベントをインタープリタ内部で検出したときのみに限定する.このサポートを利用すると,デバッギコードをほぼフル速度で実行したまま,デバッグイベントを検出することができる.我々はこのサポートとデバッガを CPython インタープリタと我々がオープンソースとして提供している非同期型デバッガ Dionea に実装した.TurboGears の Depot システムで実験した結果,デバッギのほぼフルスピードの走行とデバッガ反応速度の飛躍的向上を確認した.
- 2009-07-10
著者
関連論文
- フルスピードトレースのためのPythonインタープリタのデバッガサポート
- 1対多非同期結合型デバッガによるwebアプリケーションのセッションアウェア追跡
- PythonおよびRuby用low-intrusion型デバッガによるピアスレッドの自動認識とその追跡
- Python・Ruby記述の分散多重スレッドプログラム用部分停止型デバッガの開発
- スクリプト言語用部分停止型マルチスレッドデバッガDioneaの開発
- B-6 "Low-intrusion"モデルによるスクリプト言語用デバッガの開発(ソフトウェア開発支援ツール,B.ソフトウェア)