問題: 依存関係レポートの予期しないアノテーションの不一致

症状

インテル® Advisor 依存関係ツール解析の実行中に、予期せず一致しないアノテーションが実行されたことにより、アノテーションの不一致の問題が報告されることがあります。

詳細

[Dependencies Report (依存関係レポート)] ウィンドウは、[Problems and Messages (問題とメッセージ)] ペインに依存関係ツール解析で報告された問題とメッセージの一覧を示します。次に示す問題タイプを含む、アノテーションの不一致に関連する予期しない問題が報告されることがあります: ダングリング・ロック、サイト開始がない、タスク開始がない、サイト終了がない、タスク終了がない、または親なしタスク。例えば、並列サイト内で、想定されるコード実行パスの一部に並列サイトの終了をマークするアノテーションがない場合があるとします。

原因

原因の可能性:

解決方法

次の操作を行います。

  1. 依存関係ツールを使用して、問題が発生しているコード領域を表示します。サイトとタスクが複数の出口を持っているか、そしてアノテーションがそれらのすべてで定義されているかを調査します。例えば、終了アノテーション近辺の return 文や goto 文などの分岐、および例外のスローなどです。マクロ内部にアノテーションを追加したことが問題の原因であると考えられる場合、マクロからアノテーションを削除して、ソースの最終位置にそれらを追加します。これは、マクロ内部でブレークポイントが動作しないのに似ています。ターゲットをリビルドして依存関係ツールを再実行します。

  2. Windows* のみ: 依存関係ツールを使用し、問題が発生しているコード領域を表示して調査します。スタートアップ・プロジェクトに関連するプロジェクトの外部に並列サイトとアノテーションが配置されることが想定される場合、Visual Studio* の [プロジェクト依存関係] コンテキスト・メニューを使用して、インテル® Advisor がプロジェクトをスキャンできるように適切な依存関係を追加します。リビルドして依存関係ツールを再実行します。

    Visual Studio* 2022 では、インテル® Advisor の軽量な統合が提供されます。アプリケーションを設定およびコンパイルし、Visual Studio* からスタンドアロンのインテル® Advisor インターフェイスを開いてさらに解析することができます。すべての設定はスタンドアロンのインテル® Advisor プロジェクトに継承されます。

  3. アノテーションを含むソースファイルが 8 MB を超える場合、大きなファイルをいくつかのソースに分割することを検討してください。

関連情報