dotCover 2026.1 Help

サードパーティツールを dotCover と統合する

JetBrains .NET ツール (dotTrace、dotCover、dotMemory) は、共通のプロファイラーコアに基づいています。 このコアは、プロファイリングされたプロセスへのアタッチ、.NET フレームワーク、.NET Core、または .NET ランタイムとの通信、プロファイリングデータの収集などの低レベルのプロファイリング機能を提供します。

プロファイラーコアは、サードパーティ ツールが JetBrains .NET ツールと統合できる仕組みを提供します。 このような統合の一例として、Typemock Isolator が JetBrains dotTrace と一緒に実行されるケースがあります。これにより、コードのテストだけでなく、パフォーマンスの問題も調査できます。

透過的な統合の概念

JetBrains .NET ツールは、プロセスをプロファイリングするときに、プロファイラーコアをプロファイリングされたプロセスにロードします。 透過的な統合の場合、プロファイリングはサードパーティツールによって開始されます。 サードパーティツールは、プロファイラーコアをプロファイリングされたプロセスにロードする責任を負います。

ツールを dotCover と統合する方法

  1. プロファイリングを開始する前に、ツールは次の場所の少なくとも 1 つで統合構成を提供する必要があります。

    • Linus と macOS の場合:

      • ファイル $HOME/.jetbrains-profiler-transparent-integration-config

    • Windows の場合:

      • レジストリ HKCU\SOFTWARE\JetBrains\Profiler\TransparentIntegration

      • レジストリ HKLM\SOFTWARE\JetBrains\Profiler\TransparentIntegration

      • レジストリ HKLM\SOFTWARE\WOW6432Node\JetBrains\Profiler\TransparentIntegration

      • ファイル %\USERPROFILE%\.jetbrains-profiler-transparent-integration-config

    構成ファイルには、キーと値のペアのリストが含まれています。 1 行に使用できるキーと値のペアは 1 つだけです。 キーと値は = で区切る必要があります。 パーサーは、行上の # シンボルに続くテキストを無視します。 空行は無視されます。

    キー名

    Windows レジストリのデータ型

    説明

    CoverageProfiler

    REG_SZ

    (必須) サードパーティプロファイラー COM オブジェクトのクラス ID。

    CoverageProfiler_Path32

    REG_SZ

    (Windows ARM64/x64/x86 では必須) x86 サードパーティプロファイラー共有ライブラリへの絶対パス。

    CoverageProfiler_Path64

    REG_SZ

    (Linux x64、macOS ARM64/x64、Windows ARM64/x64 で必須) x64 サードパーティプロファイラー共有ライブラリへの絶対パス。

    CoverageProfiler_PathArm32

    (Linux ARM では必須) ARM サードパーティプロファイラー共有ライブラリへの絶対パス。

    CoverageProfiler_PathArm64

    REG_SZ

    (Linux ARM64、macOS ARM64、Windows ARM64 で必須) ARM64 サードパーティプロファイラー共有ライブラリへの絶対パス。

    CoverageProfiler_RegistryFreeActivation

    REG_DWORD

    (オプション、Windows のみ)デフォルトで 0 です。 0 以外の数字を指定してください。 ステップ 2 をスキップする場合、つまり .NET Framework 2.0 〜 4.5.2 のプロセスをプロファイルしない場合です。

  2. Win32 API または x86 および x64 の regsvr32 を使用して、ツールを COM オブジェクトとして登録します (ARM64 CPU は .NET フレームワーク 2.0 - 4.5.2 をサポートしません)。

  3. JetBrains プロファイラーコアをプロファイリングされたプロセスにロードするには、次のデータを使用します。

    変数

    Windows レジストリのデータ型

    説明

    JETBRAINS_PROFILER_CORE_GUID

    REG_SZ

    (必須) プロファイラーコア GUID。

    JETBRAINS_PROFILER_CORE_PATH32

    REG_SZ

    (Windows ARM64/x64/x86 では必須) x86 プロファイラーコア共有ライブラリへの絶対パス。

    JETBRAINS_PROFILER_CORE_PATH64

    REG_SZ

    (Linux x64、macOS ARM64/x64、Windows ARM64/x64 で必須) x64 プロファイラーコア共有ライブラリへの絶対パス。

    JETBRAINS_PROFILER_CORE_PATH_ARM32

    REG_SZ

    (Linux ARM では必須) ARM プロファイラーコア共有ライブラリへの絶対パス。

    JETBRAINS_PROFILER_CORE_PATH_ARM64

    REG_SZ

    (Linux ARM64、macOS ARM64、Windows ARM64 で必須) ARM64 プロファイラーコア共有ライブラリへの絶対パス。

    これらの変数の値は、次のソースから取得する必要があります(必要な値が見つかるまで、指定された順序でソースを正確に検索してください)。

    1. Linus と macOS の場合:

      1. ファイル: /tmp/Upid_<pid>_<pst>/<var>

      2. 環境変数

    2. Windows の場合:

      1. レジストリ: HKCU\SOFTWARE\JetBrains\Profiler\Upid_<pid>_<pst>

      2. レジストリ: HKLM\SOFTWARE\JetBrains\Profiler\Upid_<pid>_<pst>

      3. 環境変数

      4. レジストリ: HKLM\SOFTWARE\JetBrains\Profiler\Global

    説明:

    • <var>- 上の表の 変数

    • <pid> – 符号なし 10 進プロセス ID。

    • <pst> – 16 進数のプロセス開始時刻:

      • Linux の場合: システム起動からのクロック刻み。

      • Windows および macOS の場合: 1601 年 1 月 1 日 (UTC) から 100 ナノ秒間隔。

  4. ツールが ICorProfilerInfo* インターフェースの変換を実装し、最新の状態に維持していることを確認してください。 ツールでの ICorProfilerInfo::QueryInterface() の実装は、サポートする CLR/CoreCLR バージョンと同じ使用可能なインターフェースのセットを返す必要があることに注意してください。 例: CoreCLR が ICorProfilerInfoICorProfilerInfo4 のみをサポートする場合、JetBrains プロファイラーコアはこれらのインターフェースのみを使用できる必要があります。

2026 年 6 月 12 日