インテル® Advisor 依存関係ツール解析の実行中に、予期せず一致しないアノテーションが実行されたことにより、アノテーションの不一致の問題が報告されることがあります。
[Dependencies Report (依存関係レポート)] ウィンドウは、[Problems and Messages (問題とメッセージ)] ペインに依存関係ツール解析で報告された問題とメッセージの一覧を示します。次に示す問題タイプを含む、アノテーションの不一致に関連する予期しない問題が報告されることがあります: ダングリング・ロック、サイト開始がない、タスク開始がない、サイト終了がない、タスク終了がない、または親なしタスク。例えば、並列サイト内で、想定されるコード実行パスの一部に並列サイトの終了をマークするアノテーションがない場合があるとします。
原因の可能性:
マクロ内にアノテーションが置かれています。
Linux*: 並列サイトと関連するアノテーションをプロジェクト外部に配置しています。
Windows* : 並列サイトとアノテーションをスタートアップ・プロジェクトに関連するプロジェクト外部に配置している可能性があります。
アノテーションを含むソースファイルが大規模である場合、(パフォーマンスの理由から) 観点から、それぞれのファイルの最初の 8MB のみがアノテーション向けに分析されることに注意してください。これにより、アノテーション不一致のメッセージが表示される可能性があります。
次の操作を行います。
依存関係ツールを使用して、問題が発生しているコード領域を表示します。サイトとタスクが複数の出口を持っているか、そしてアノテーションがそれらのすべてで定義されているかを調査します。例えば、終了アノテーション近辺の return 文や goto 文などの分岐、および例外のスローなどです。マクロ内部にアノテーションを追加したことが問題の原因であると考えられる場合、マクロからアノテーションを削除して、ソースの最終位置にそれらを追加します。これは、マクロ内部でブレークポイントが動作しないのに似ています。ターゲットをリビルドして依存関係ツールを再実行します。
Windows* のみ: 依存関係ツールを使用し、問題が発生しているコード領域を表示して調査します。スタートアップ・プロジェクトに関連するプロジェクトの外部に並列サイトとアノテーションが配置されることが想定される場合、Visual Studio* の [プロジェクト依存関係] コンテキスト・メニューを使用して、インテル® Advisor がプロジェクトをスキャンできるように適切な依存関係を追加します。リビルドして依存関係ツールを再実行します。
アノテーションを含むソースファイルが 8 MB を超える場合、大きなファイルをいくつかのソースに分割することを検討してください。