拡張のデバッグ方針
Creo Elements/Direct Model Manager を拡張する場合、Creo Elements/Direct Model Manager コードベース全体に若干のコードを追加します。Creo Elements/Direct Model Manager 20.7 に用意されているいくつかの新しいツールを利用すると、アーキテクチャのさまざまなレベルでのデバッグに役立ちます。この一連のデバッグ方針により、拡張コード内の問題を迅速に特定できます。
テスト ファースト
Creo Elements/Direct Model Manager に関する開発では、エクストリームプログラミング (eXtreme Programming) プロセスの一環としてテストファースト開発を利用します。基本的には、コードを記述する前に、コードの変更が正常に実装されない限り失敗するテストを記述します。Creo Elements/Direct Model Manager のユニットテストを実行する方法、ユニットテストを追加する方法の詳細については、Creo Elements/Direct Model Manager ユニットテストの実行方法を参照してください。
Ant は一般的な Java テスト ユーティリティであり、NetBeans に統合されています。Creo Elements/Direct Model Manager の拡張の開発スクリプトは、Ant で記述されています。
自動化されたテストを作成しない場合は、少なくとも拡張を呼び出す手順を手動で実行し、実行したアクションと Creo Elements/Direct Model Manager の応答をメモしておくことをお勧めします。コードを変更しても Creo Elements/Direct Model Manager の応答が予期したとおりにならない場合、メモを参照して、以前の動作を確認できます。
コードの変更にデータベース検索が含まれる場合は、現在のパフォーマンスも文書に記録しておくことをお勧めします。データベースサーバを介したデータベース検索のパフォーマンスの計測には、新規の WANproxy (後述) が役立ちます。
Java デバッガの使用
Creo Elements/Direct Manager Server にはデバッグ可能な WorkManager.jar ファイルが付属しているため、Java デバッガを使用して拡張を簡単にデバッグできます。NetBeans デバッガを設定して Creo Elements/Direct Model Manager の拡張をデバッグする方法の詳細については、NetBeans デバッガの起動方法を参照してください。
パフォーマンスの問題での WANproxy の使用
WANproxy は、Creo Elements/Direct Model Manager とデータベースサーバ間の通信を監視します。WANproxy を使用すると、Creo Elements/Direct Model Manager とデータベースサーバとの間の遅延をシミュレートすることにより、WAN (広域通信網) を介してのパフォーマンスをシミュレートできます。
WANproxy を使用するには、拡張ビルドツールの dev.propertieswanproxy.enabledtrue に設定します。WAN を介したパフォーマンスをシミュレートするには、wanproxy.latencyon に設定します。
PDMTrace を使用してのカーネル呼び出しの解析
PDM (Creo Elements/Direct Model Manager の C カーネル) への呼び出しをデバッグする場合は、本書で前述したように、デバッガを使用してコードを監視する方法が最も簡単です。ただし、この方法でうまくいかず、PDM の内部を確認する必要があるときは、Creo Elements/Direct Manager Server 付属の PDMTrace ツールを使用してください。
デフォルトの PDM リスナーは WorkManager.jar/com/osm/tools/PDMTrace です。PDM トレース ツールでは大量の出力が生成されるため、検索する PDM 呼び出しを 1 つに絞ってからリスナーを有効にしてください。
PDM トレース ツールを使用するには、PDM 呼び出しを以下のコードで囲みます。
PDMTrace myListener = new PDMTrace();
pdm.addDebugListener(myListener);
<your code>
pdm.removeDebugListener(myListener);
com/osm/tools/PDMDebugEventListener を拡張することで、独自の PDM リスナーを作成できます。それぞれの PDM 関数は beginCall() と endCall() で囲まれています。これら 2 つの関数を拡張することで、出力をカスタマイズできます。例については、PDMTrace を参照してください。
ユニット テストの実行
Creo Elements/Direct Model Manager のユニットテストを実行して、基本製品の機能性、およびテストを記述した拡張の機能性が、カスタマイズによって破壊されていないかどうかを確認します。Creo Elements/Direct Model Manager のユニットテストを実行する方法の詳細については、Creo Elements/Direct Model Manager ユニットテストの実行方法を参照してください。
それでも機能しない場合の対処法
以下の項目をチェックしてください。
NetBeans
クラスの位置はすべての場所 (クラスおよびソース ディレクトリ構造のほか、XML ファイル内) で同じになっていますか。
クラス ディレクトリに余分なファイルが含まれていませんか。
XML ファイル
正しいサーバが設定されていますか。
ファイルのフォーマットは適切ですか (必須タグなど)。
大文字/小文字は正しく入力されていますか。
適切なデータベース スキーマが使用されていますか。
これは役に立ちましたか?