デバッガー - リリース情報

1.0 概要
2.0 既知の問題
   2.1 Web 開発環境
   2.2 WebSphere Application Server のデバッグ
   2.3 JavaScript デバッガー
   2.4 SQL ストアード・プロシージャーのデバッガー
   2.5 テスト・ツールとデプロイメント・ツール (サーバー・ツール)
   2.6 Java 開発ツール (JDT) デバッガー
   2.7 各国語の制限
   2.8 SQL ストアード・プロシージャー・デバッガー (Linux)
   2.9 SQLJ デバッガー

1.0 概要

WebSphere Studio 内のデバッガーは、Web アプリケーション、サーバー・サイドの JavaScript、Java、SQLJ、SQL ストアード・プロシージャー、コンパイル言語などのデバッグに必要なツールを提供します。この README ファイルは、WebSphere Studio デバッガーに関する既知の問題および制限について説明しています。

2.0 既知の問題

2.1 Web 開発環境

JSP デバッグ:

2.2 WebSphere Application Server のデバッグ

2.3 JavaScript デバッガー

2.4 SQL ストアード・プロシージャーのデバッガー

2.5 テスト・ツールとデプロイメント・ツール (サーバー・ツール)

サーバーをデバッグ・モードで実行する場合は、以下の点を考慮してください。

2.6 Java 開発ツール (JDT) デバッガー

Java 開発ツールについての既知の問題および制限に関しては、Java 開発ツール (JDT) のリリース情報および ワークベンチ (IDE) リリース情報を参照してください。 これらの資料には、本製品とともにインストールされるメインの製品 README からリンクがあります。

2.7 各国語の制限

2.8 SQL ストアード・プロシージャー・デバッガー (Linux)

ローカル・データベースで SQL ストアード・プロシージャーのデバッグを行う場合、エラー番号 SQL1224N を受け取る場合があります。

COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command. SQLSTATE=55032

これは、Linux カーネルにおける問題です (Linux カーネル Bugzilla bug #351)。以下に、Call Level Interface (CLI) の代わりに、DB2 の TCPIP 接続方式 (ループバックとして) を使用する回避方法を示します。この手順では、デバッガーで以前と同じデータベース別名を使用することができます。

  1. リモート DB2 クライアントのポートが設定されていない場合は、/etc/services に TCP/IP ポートを作成してください (例、db2cdb2inst1 50000/tcp # DB2 connection service port)。リモート DB2 クライアント用の既存のポートを使用することができます。

    以下のステップ 2 〜 7 では、DB2 インスタンス所有者としてログインする必要があります。

  2. TCP/IP 通信プロトコルの接続マネージャーを開始するよう、データベース・マネージャーを構成します。既にこれが行われているか不明の場合には、次のコマンドを実行します。
    db2set db2comm

    出力にキーワード tcpip が含まれていなければ、次のコマンドを入力して、tcpip を組み込むよう db2comm レジストリー変数を更新する必要があります。

    db2set db2comm=<existing protocol names>,tcpip

    db2comm レジストリー変数によって、データベース・マネージャーが開始された場合に使用可能にするプロトコルの接続マネージャーが決定されます。この変数は、キーワードをコンマで区切ることにより、複数の通信プロトコルに設定することができます。例、db2set db2comm=tcpip,appc

    db2comm レジストリー・パラメーターで指定されたプロトコルの接続マネージャーを開始するには、db2start コマンドを再度実行する必要があります。以下のステップ 7 で DB2 を再始動するので、ここで実行する必要はありません。

    .
  3. SVCENAME データベース・マネージャーの構成パラメーターを、/etc/services (ステップ 1) で定義された接続サービス名により更新します。

    SVCENAME の現在の設定をチェックするには、次のコマンドを入力します。

    db2 get dbm cfg | grep -i svcename

    SVCENAME の設定を更新する必要がある場合には、次のコマンドを入力します。

    db2 update dbm cfg using svcename <connection service name>

    <connection service name> には大文字小文字の区別があり、/etc/services に配置されたサービス・ポートの名前に一致する必要があります (例、db2 update dbm cfg using svcename db2cdb2inst1)。

    データベース・マネージャー構成の更新は、次回 db2start コマンドを実行するまで有効になりません。これは、以下のステップ 7 で行います。

  4. 次のコマンドを入力して、ループバック・ノードをカタログします。
    db2 catalog tcpip node <nodename> remote 127.0.0.1 server <connection service name>

    <nodename> は、カタログするノードのローカル別名です。これは、ワークステーション上の任意の名前で、ノードの識別に使用されます (例、db2 catalog tcpip node mynode remote 127.0.0.1 server db2cdb2inst1)。

    catalog コマンドが正しく機能したかを確認するには、次のコマンドを実行します。

    db2 list node directory

    このコマンドのサンプル出力は、次のとおりです (ブランク行は便宜上省略してあります)。

    Node Directory
    Number of entries in the directory = 1
    Node 1 entry:
    Node name = MYNODE
    Comment =
    Protocol = TCPIP
    Hostname = 127.0.0.1
    Service name = db2cdb2inst1
  5. 次のようにデータベースをカタログします。各コマンドの結果を追跡するには、以下のコマンドを参照して、サンプル出力を作成してください。
    1. db2 catalog db <database name> as <database alias>
    2. db2 uncatalog db <database name>
    3. db2 catalog db <database alias as <database name> at node <nodename>

    db2 catalog db WAS as WASLOOP
    db2 uncatalog db WAS
    db2 catalog db WASLOOP as WAS at node MYNODE

    注:

    • データベース別名は、任意の名前にすることができますが、データベース名と同じにすることはできません。
    • データベースを正しくカタログしない場合には、エラー番号 SQL1334N を受け取ります。
    • ストアード・プロシージャーをデバッグするデータベースごとに、ステップ 5a〜5c を繰り返します。

    ステップ 5a〜5c のサンプル出力

    ステップ 5a の前に、ローカル・データベース WAS が作成済みです。コマンド db2 list db directory の出力は、次のとおりです。

    System Database Directory
    Number of entries in the directory = 1

    Database 1 entry:

    Database alias = WAS
    Database name = WAS
    Local database directory = /home/ctsui
    Database release level = 9.00
    Comment =
    Directory entry type = Indirect
    Catalog node number = 0

    ステップ 5a の後の db2 list db directory の出力は、次のとおりです。

    System Database Directory
    Number of entries in the directory = 2

    Database 1 entry:

    Database alias = WAS
    Database name = WAS
    Local database directory = /home/ctsui
    Database release level = 9.00
    Comment =
    Directory entry type = Indirect
    Catalog node number = 0

    Database 2 entry:

    Database alias = WASLOOP
    Database name = WAS
    Local database directory = /home/ctsui
    Database release level = 9.00
    Comment =
    Directory entry type = Indirect
    Catalog node number = 0

    ステップ 5b の後の db2 list db directory の出力は、次のとおりです。

    System Database Directory
    Number of entries in the directory = 1

    Database 1 entry:

    Database alias = WASLOOP
    Database name = WAS
    Local database directory = /home/ctsui
    Database release level = 9.00
    Comment =
    Directory entry type = Indirect
    Catalog node number = 0

    ステップ 5c の後の db2 list db directory の出力は、次のとおりです。

    System Database Directory
    Number of entries in the directory = 2

    Database 1 entry:

    Database alias = WAS
    Database name = WASLOOP
    Node name = MYNODE
    Database release level = 9.00
    Comment =
    Directory entry type = Remote
    Catalog node number = -1

    Database 2 entry:

    Database alias = WASLOOP
    Database name = WAS
    Local database directory = /home/ctsui
    Database release level = 9.00
    Comment =
    Directory entry type = Indirect
    Catalog node number = 0

    catalog db コマンドが正しく機能したかを確認するには、次の 2 つのコマンドを実行します (サンプル出力は以下のとおりです)。

    db2 connect to wasloop
    db2 connect to was

    db2 connect to wasloop により接続情報が印刷され、db2 connect to was で SQL1403N が示されます。

    db2 connect to wasloop のサンプル出力:

    Database Connection Information
    System Database Directory

    Database server = DB2/6000 6.1.0
    SQL authorization ID = CTSUI
    Local database alias = WASLOOP

    db2 connect to was のサンプル出力:

    SQL1403N The username and/or password supplied is incorrect. SQLSTATE=08004
  6. 認証手段をクライアント認証 に更新します。次のコマンドを入力します。
    db2 update dbm cfg using authentication client

    コマンドが正しく機能したかを確認するには、次のコマンドで新しい設定を表示します。

    db2 get dbm cfg

    サンプル出力:

    ....
    Database manager authentication         (AUTHENTICATION) = CLIENT
    ....
  7. DB2 を再始動して、ディレクトリー・キャッシュをリフレッシュします。例、
    db2stop
    db2start
  8. WAS の場合、admin.config ファイルを更新する必要はありません。Websphere アプリケーションの場合、既存のデータ・ソース構成を変更する必要はありません。
  9. データベースを除去するには、次の作業を行います。
    1. db2 attach to <nodename> user <userid> using <password>
    2. db2 drop db <database name>
      例、db2 attach to MYNODE user myid using mypasswd
      db2 drop db WAS

2.9 SQLJ デバッガー

J9 JVM を使用したデバッグの間にホット・スワップを行う場合、呼び出しスタックに SQLJ メソッドが存在すると、「スタックの廃止メソッド (Obsolete methods on the stack)」ダイアログが表示されます。ホット・スワップのクラスが SQLJ の場合、クラスが JVM に再ロードされますが、クラスのメソッドの次回の呼び出しまで新しいコードの実行は表示されません。

SQLJ クラスをホット・スワップする場合、現在のデバッグ・セッション中はこのクラスで SQLJ ブレークポイントは機能しません。

メインの README ファイルに戻る