メッセージ・フローのデバッグ時の問題の解決
このトピックでは、メッセージ・フローをデバッグする際に生じる可能性のある共通問題のいくつかに対処するためのアドバイスを示します。
デバッガーが次のブレークポイントで一時停止しない
- シナリオ: メッセージ・フロー・デバッガーがメッセージ・フロー内の次のブレークポイントで一時停止しません。
- 解決策: 以下の検査を実行します。
- DataFlowEngine が実行しているかを確認して、実行していない場合は再始動します。
- 入力キューを調べます。 入力キューに、前回デバッガーを使用した時から残っているメッセージがある場合、
新規のメッセージを送信する前にそれらを消去します。
ブレークポイントでメッセージの実行が停止しない
- シナリオ: デバッガーの接続後に、ブレークポイントでメッセージの実行が停止しません。
- 説明: このエラーはタイミングの問題によって生じたか、またはデバッグ・セッションに間違ったパラメーターを設定した可能性があります。
- 解決策: 以下のステップを実行します。
- 起動構成設定を調べて、デバッグ・セッションのための
「フロー・プロジェクト」、「HostName」、および「フロー・エンジン」の
指定が正しいことを確認します。
- デバッグ・セッションを再始動します。
メッセージ・フロー・エディターで編集の問題が発生する
- シナリオ: メッセージ・フローのデバッグ中にメッセージ・フロー・エディターを使用すると編集問題が発生します。
- 解決策: フロー・デバッガーに接続中は、メッセージを編集しようとしないでください。 メッセージ・フローを編集する場合は、デバッガーを切り離し、メッセージ・フローを編集してから、メッセージ・フローを再デプロイします。
MQ メッセージ記述子 (MQMD) を編集するとデバッガー内で予期しない動作が発生する
- シナリオ: メッセージ・セット・エディターでメッセージ MQMD 記述子のプロパティーを編集しますが、これによってデバッガー内で予期しない動作が発生します。
- 説明: MQMD 記述子の内容を編集する場合、これらのフィールドが、ある範囲の値を取ります。 プロパティーを編集する前に、これらの範囲を知っておく必要があります。 これらのフィールドの値を明示的に指定する場合を除いて、フィールドはデフォルト値を取るため、一部のフィールドがメッセージ内で指定されなかった可能性があります。 メッセージ内で明示的に設定されていないフィールドの値はデフォルト値です。その重要性または可能な範囲の値について知っている場合を除いて、これらを変更してはなりません。
メッセージ・フローのデバッグ時にメッセージの内容を見ることができない
- シナリオ: メッセージ・フロー・デバッガーを使用しており、メッセージ・フローを通過するメッセージを見ることはできますが、メッセージの内容を見ることができません。
- 解決策: をクリックして、フロー・デバッグ・メッセージ・ビューを開き、「OK」をクリックします。
デバッグ中にノードの上に感嘆符が表示される
- シナリオ: メッセージ・フロー・エディターで、デバッグ中にノードの上に感嘆符 (!) が表示されます。
- 説明: デバッグ中にノードで例外が発生しました。
- 解決策: 「デバッグ」パースペクティブ の「変数」ビューにある ExceptionList の下を参照して、どんなエラーが発生したかを調べます。
ブレークポイントでメッセージの処理が停止しない
- シナリオ: ブレークポイントに来てもメッセージ処理を継続します。
- 説明: このエラーはタイミングの問題によって生じたか、またはデバッグ・セッションに間違ったパラメーターを設定した可能性があります。
- 解決策: 起動構成の設定を確認します。
デバッグ・セッションのための
「フロー・プロジェクト」、「HostName」、および「フロー・エンジン」の指定が
正しいことを確認します。 デバッグ・セッションを再始動します。
グラフィカル・データ・マッピング・エディターのどこにデバッガーがあるのか分からない
- シナリオ: グラフィカル・データ・マッピング・エディターはツールキットをオープンしましたが、
マップ内のどこにデバッガーがあるのかが不明です。
- 説明: メッセージ・マップ・ファイルのソース検索パスが正しく構成されていません。
- 解決策: デバッグ起動構成の設定を調べて、メッセージ・マップ・ファイルのソース・ルックアップ・パスを正しく構成していることを確認してください。
メッセージ・マップのデバッグ中に、デバッガーが次のフィールドに移動しない
- シナリオ: メッセージ・マップをデバッグしていて、デバッガーが次のフィールドに移動しません。 「ステップオーバー」ボタンを複数回クリックする必要があります。
- 説明: メッセージ・マップ・ファイルのソース検索パスが正しく構成されていません。
- 解決策: デバッグ起動構成の設定を調べて、メッセージ・マップ・ファイルのソース・ルックアップ・パスを正しく構成していることを確認してください。
メッセージ・マップのデバッグ中に、デバッガーが mapping ノードの外に移動しない
- シナリオ: メッセージ・マップをデバッグしていて、デバッガーがメッセージ・マップの外に移動しません。
- 説明: メッセージ・マップ・ファイルのソース検索パスが正しく構成されていません。
- 解決策: デバッグ起動構成の設定を調べて、メッセージ・マップ・ファイルのソース・ルックアップ・パスを正しく構成していることを確認してください。
メッセージ・フローが collector ノードで停止する
- シナリオ: Collector ノードで「ソース・コードのステップイントゥ」アイコンを選択した後に、メッセージ処理が停止します。
- 説明: collector ノードはマルチスレッド・ノードであり、
スレッドは「ソース・コードのステップイントゥ」を選択することによって停止します。
- 解決策: collector ノードの後にブレークポイントを手動で設定します。