Java

JavaTM Platform Debugger Architecture - 解説                         

ホームページ

アーキテクチャの概要

JavaTM Platform Debugger Architecture の構成は次のとおりです。
             コンポーネント                         デバッガインタフェース

                /    |--------------|
               /     |     VM       |
 debuggee ----(      |--------------|  <------- JVMDI - Java VM Debug Interface
               \     | バックエンド  |
                \    |--------------|
                /           |
 通信チャネル -(            |  <--------------- JDWP - Java Debug Wire Protocol
                \           |
                     |--------------|
                     |フロントエンド |
                     |--------------|  <------- JDI - Java Debug Interface
                     |      UI      |
                     |--------------|

Java Platform Debugger Architecture (JPDA) とは何か

JPDA は、複数のプラットフォーム、Virtual Machine (VM) 実装、および SDK バージョン間で高い移植性を持つデバッガアプリケーションを、ツール開発者が容易に作成できるようにする多層デバッグアーキテクチャです。

JPDA は、次の 3 つの階層で構成されます。

JVMDI - Java VM Debug Interface
VM が提供するデバッグサービスを定義します。
JDWP - Java Debug Wire Protocol
debuggee とデバッガのプロセス間で行われる通信を定義します。
JDI - Java Debug Interface
高レベルの Java 言語インタフェースを定義します。これを使用することにより、ツール開発者は、リモートデバッガアプリケーションを容易に記述できます。

リファレンス実装

これらのインタフェースの仕様に加え、Sun Microsystems はリファレンス実装も提供します。リファレンス実装は、以下で構成されます。 結果として、任意の層を置換可能な多層実装が提供されます。

JPDA の使用

デバッガ開発者は、任意の層で JPDA にアクセスできます。JDI は最も高レベルかつ使いやすいインタフェースであるため、JDI を使用することを開発者の皆さんにお勧めします。企業が JDI を使ってデバッガを開発する場合を考えてみましょう。JDI は、リファレンス実装とともに使用でき、また VM および Sun がサポートするプラットフォームで自動的に機能します。さらに、たとえば、リファレンス実装のフロントエンド、および JDWP を実装する他社の VM (JVMDI を使用または省略する) でも機能します。

デバッガの中には、より低い層である JDWP (フロントエンドが Java で記述されていない場合) や JVMDI (低レベルの機能を必要とする特殊なデバッガの場合) の上に構築されるものもあります。


コンポーネント

debuggee

Java Virtual Machine (VM)

バックエンド

通信チャネル

 

フロントエンド

 

ユーザインタフェース (UI)

 


デバッガインタフェース

Java Virtual Machine Debugger Interface (JVMDI)

Java Debug Wire Protocol (JDWP)

Java Debug Interface (JDI)


Copyright © 1997-1999 Sun Microsystems, Inc. All Rights Reserved.

コメントの送付先: java-debugger@java.sun.com

Sun