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 は、複数のプラットフォーム、仮想マシン (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 を使用しても省略してもよい) で動作している debuggee でも機能します。

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


コンポーネント

debuggee

Java 仮想マシン (VM)

バックエンド

通信チャネル

 

フロントエンド

 

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

 


デバッガインタフェース

Java Virtual Machine Debugger Interface (JVMDI)

Java Debug Wire Protocol (JDWP)

Java Debug Interface (JDI)


Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.

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

Sun