WEKO3
アイテム
PythonおよびRuby用low-intrusion型デバッガによるピアスレッドの自動認識とその追跡
https://ipsj.ixsq.nii.ac.jp/records/16550
https://ipsj.ixsq.nii.ac.jp/records/16550cea1b4ae-0676-4f12-b360-7597a8e37573
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
|
Copyright (c) 2006 by the Information Processing Society of Japan
|
|
| オープンアクセス | ||
| Item type | Trans(1) | |||||||
|---|---|---|---|---|---|---|---|---|
| 公開日 | 2006-07-15 | |||||||
| タイトル | ||||||||
| タイトル | PythonおよびRuby用low-intrusion型デバッガによるピアスレッドの自動認識とその追跡 | |||||||
| タイトル | ||||||||
| 言語 | en | |||||||
| タイトル | Automatic Recognition and Tracing of Peer Threads \\by Low-intrusion Type Debugger for Python and Ruby | |||||||
| 言語 | ||||||||
| 言語 | jpn | |||||||
| キーワード | ||||||||
| 主題Scheme | Other | |||||||
| 主題 | 通常論文 | |||||||
| 資源タイプ | ||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
| 資源タイプ | journal article | |||||||
| 著者所属 | ||||||||
| 金沢工業大学大学院情報工学専攻 | ||||||||
| 著者所属 | ||||||||
| 金沢工業大学大学院情報工学専攻 | ||||||||
| 著者所属 | ||||||||
| 金沢工業大学大学院情報工学専攻 | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Department of Information and Computer Science, Kanazawa Institute of Technology | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Department of Information and Computer Science, Kanazawa Institute of Technology | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Department of Information and Computer Science, Kanazawa Institute of Technology | ||||||||
| 著者名 |
小菅, 圭介
小倉, 正充
佐藤, 規男
× 小菅, 圭介 小倉, 正充 佐藤, 規男
|
|||||||
| 著者名(英) |
Keisuke, Kosuga
Masamitsu, Ogura
Norio, Sato
× Keisuke, Kosuga Masamitsu, Ogura Norio, Sato
|
|||||||
| 論文抄録 | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | PythonとRubyはWebスクリプトだけでなく複雑な分散多重スレッドプログラムに適する先進的言語である.我々はこれらの言語を対象として従来のhigh-intrusion型デバッガとは異なるlow-intrusion型のthread-awareなデバッガを開発した.本論文では主にピアスレッド群をデバッグするための新機能と実装および適用シナリオを述べる.デバッガは1つ以上のデバッギプロセスを捕捉しその中で走行するスレッド群の詳細なスナップショットを持ち,共用オブジェクトをキー情報としてピアスレッドを検出する.キー情報はデバッグ時にデバッギに埋め込んだフックによりデバッガに通知される.ローカルピアは共有同期オブジェクトの整合により,RMI(Remote Method Invocation)のcaller-calleeペアなどのリモートピアは使用ソケットのアドレスペアを整合することにより,デバッガ内で検出する.フックを用いてステップ表示をメッセージに挿入することにより,メッセージの送信側から受信側スレッドへのステップ,およびcallerからcalleeへのステップインも可能となる.後者の場合,両者においてフックの存在判定が必須であるが,dRubyのリモートオブジェクト識別子であるURIの定義リストをstepコマンドに付けることで解決する.さらに,ユーザはデータブレークポイントやポイントカットの設定により,共有変数の安全なアクセスをチェックすることができる. | |||||||
| 論文抄録(英) | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | Both Python and Ruby are innovative scripting languages that are suitable not only for web scripts, but for complex distributed multithread programs. For these languages, we have developed a “low-intrusion” type thread-aware debugger that is different from existing “high-intrusion” type debuggers. This paper focuses on the newly developed debugging features, their implementation and their application scenarios to deal with peer threads. The debugger catches one or more debuggee processes and has dynamic snapshots on threads in these processes. It detects peer threads by using shared objects as key information. Such key information is reported by the hooks that are plugged-in the debuggee at debug time. In the debugger, local peers are known by matching synchronization objects they share, while remote peers, such as caller and callee pairs using RMI (Remote Method Indication), are recognized by matching the pair addresses of sockets they use. Adding by hooks a step indication to messages enables stepping from a sender to a receiver and remote stepping from a caller to a callee of RMI in low-intrusive way. In the later case, the hook must judge whether both sides agree upon the hooks or not. We let the debugger attach “URI(s)” that identify the remote objects in dRuby, to the step command. | |||||||
| 書誌レコードID | ||||||||
| 収録物識別子タイプ | NCID | |||||||
| 収録物識別子 | AA11464814 | |||||||
| 書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 47, 号 SIG11(PRO30), p. 13-27, 発行日 2006-07-15 |
|||||||
| ISSN | ||||||||
| 収録物識別子タイプ | ISSN | |||||||
| 収録物識別子 | 1882-7802 | |||||||
| 出版者 | ||||||||
| 言語 | ja | |||||||
| 出版者 | 情報処理学会 | |||||||