スクリプト言語用部分停止型マルチスレッドデバッガDioneaの開発
書誌事項
- タイトル別名
-
- Low - intrution Multi - thread Debugger Writtern in Scripting Languages : Dionea
この論文をさがす
説明
Perl-5,Python,Ruby等の主要スクリプト言語は,ネットワークプログラミングにおける応答性向上等のため,マルチスレッド機能を提供している.しかし,既存スクリプト言語用デバッガはどれもマルチスレッド未対応であるか機能が不十分である.そこで我々は,部分停止(low-intrusion)モデルにより拡張したマルチスレッドデバッガを提案する.このモデルは,デバッグ操作ごとにプロセスの実行全体を停止させる既存デバッガの世界停止(stop-the-worldあるいはhigh-intrusion)モデルとは異なり,個々のスレッドのみ制御することができるモデルである.本発表ではPython用に開発したデバッガの実装と適用を述べる.本デバッガはネットワーク協調型プログラムを扱うため,クライアント部とサーバ部に分離している.クライアント部はネットワーク上で協調するプロセスを同時に複数捕捉できる.また,複数スレッドの同時操作を容易にするGUIを提供する.サーバ部はデバッグAPIを提供する低レベルモジュール,クライアント部からデバッグ用コマンドを受け取る専用スレッド,およびデバッグ対象スレッドがコールバックする関数群から構成される.これらのオブジェクトを用いてスレッドを同期させることにより,部分停止と世界停止のシームレスな制御モデルを実現する.
Major scripting languages such as Perl-5, Python, and Ruby, provide with multi-thread features that could improve response time as for network programming, etc. Nevertheless, the existing debuggers for these languages ignore or lack in sufficient facilities for multi-thread execution. We propose a new multi-thread debugger extended with “low-intrusion”model. With this model, we can control individual threads without suspending a whole process, whereas existing debuggers with “high-intrusion”or “stop-the-world”model cannot. We present the implementation and application of a debugger we have developed for Python. The debugger consists of server and client parts to handle communicating processes via network. The client part can catch more than one process through network to allow for testing communicating processes, and provides users with full GUI support to facilitate the handling of multiple threads inside these processes. We have implemented the server part with extension modules: low-level modules to offer debug API; a dedicated thread listening to debug commands coming from the client part; and functions call-backed by individual debugged threads. By synchronizing the threads by means of these objects, both low-and high-intrusion models are realized in a seamless way.
収録刊行物
-
- 情報処理学会論文誌プログラミング(PRO)
-
情報処理学会論文誌プログラミング(PRO) 44 (SIG15(PRO19)), 72-72, 2003-11-15
情報処理学会
- Tweet
キーワード
詳細情報 詳細情報について
-
- CRID
- 1050564287843988352
-
- NII論文ID
- 110002711907
-
- NII書誌ID
- AA11464814
-
- ISSN
- 18827802
-
- 本文言語コード
- ja
-
- 資料種別
- journal article
-
- データソース種別
-
- IRDB
- CiNii Articles