9 MLE JavaScriptモジュールの実行後のデバッグ
コードを簡単にデバッグできる機能は、優れた開発者エクスペリエンスにとって重要です。MLEには、標準の出力デバッグに加えて、JavaScriptソース・コードに対して実行後のデバッグを行うオプションが用意されています。
実行後のデバッグでは、プログラムの実行中にランタイム状態を効率的に収集できます。コードの実行が完了したら、収集されたデータを使用してプログラムの動作を分析し、注意が必要なバグを検出できます。実行後のデバッグを行うには、収集されるデバッグ情報を識別するデバッグ仕様を指定します。デバッグ仕様はデバッグポイントのコレクションであり、それぞれが、ソース・コードのどこでどのようなデバッグ情報を収集するかを指定します。デバッグポイントは、条件付きまたは条件なしにできます。
ノート:
実行後のデバッグは、MLEモジュールとしてデプロイされたJavaScriptコードにのみ適用できます。現在このデバッグ機能は、動的実行を介してコードをデプロイしている場合には使用できません。ノート:
MLE JavaScriptドライバやMLEバインドなどのMLE組込みモジュールは、実行後のデバッグではデバッグできません。組込みモジュールをデバッグしようとすると、ORA-04162
エラーが発生します。
MLE組込みモジュールの詳細は、サーバー側JavaScript APIのドキュメントを参照してください。
モジュールのデバッグポイントは、動的なMLEソースからか別のMLEモジュールからかに関係なく、MLEコール仕様を介した実行やモジュール・インポートを介した実行など、モジュール・コードのすべての実行に適用されます。いったん有効にすると、デバッグ仕様は、無効にするか、新しいデバッグ仕様に置き換えるか、またはセッションが終了するまでアクティブのままになります。
トピック
- デバッグポイントの指定
デバッグポイントは、データベース文字セットでエンコードされたJSONドキュメントを使用して指定します。 - デバッグポイントの管理
デバッグは、デバッグ仕様を指定してプロシージャdbms_mle.enable_debugging
をコールすることで、セッション内で有効にできます。 - デバッグ出力の分析
デバッグポイントからの出力は、Javaプロファイラ・ヒープ・ダンプ・バージョン1.0.2形式で格納されます。 - MLEでのエラー処理
MLEのJavaScriptコードの実行中に発生したエラーは、データベース・エラーとして報告されます。