Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Pipelines では、 インデックス ソース とシンボルの発行タスクを使用して、シンボルを Azure Artifacts シンボル サーバーに発行できます。 デバッガーを使用すると、製品名、ビルド番号、パッケージ名を知らなくても、接続して正しいシンボル ファイルを自動的に取得できます。 Azure Pipelines を使用して、シンボルをファイル共有とポータブル PDB に発行することもできます。
注
インデックス ソースと発行シンボル タスクは、リリース パイプラインではサポートされていません。
Azure Artifacts シンボル サーバーにシンボルを発行する
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ パイプライン] を選択し、パイプラインを選択し、[ 編集] を選択してパイプラインを変更します。
パイプライン定義から、
+
を選択して新しいタスクを追加します。インデックス ソースとシンボルの発行タスクを検索します。 [ 追加] を選択してパイプラインに追加します。
次のように必須フィールドに入力します。
タスクのバージョン: 2.\*。
表示名: タスクの表示名。
シンボル フォルダーへのパス: シンボル ファイルをホストしているフォルダーへのパス。
検索パターン: シンボル フォルダーへのパスで指定したフォルダー内の .pdb ファイルを検索 するために使用されるパターン。 単一フォルダーのワイルドカード (
*
) と再帰ワイルドカード (**
) の両方がサポートされています。 例: *\bin**.pdb: bin という名前のすべてのサブディレクトリ内のすべての .pdb ファイルを検索します。インデックス ソース: ソース サーバー情報を PDB ファイルに挿入するかどうかを示します。
シンボルの発行: シンボル ファイルを発行するかどうかを示します。
- シンボル サーバーの種類: シンボルを Azure Artifacts シンボル サーバーに発行するには、この組織またはコレクションのシンボル サーバー (Azure Artifacts が必要) を選択します。
詳細ログ: ログに詳細情報を含めます。
ファイル共有にシンボルを発行する
Azure Artifacts シンボル サーバーとは別に、 インデックス ソースと シンボルの発行タスクを使用して、シンボルをファイル共有に発行することもできます。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ パイプライン] を選択し、パイプラインを選択し、[ 編集] を選択してパイプラインを変更します。
パイプライン定義から、
+
を選択して新しいタスクを追加します。インデックス ソースとシンボルの発行タスクを検索します。 [ 追加] を選択してパイプラインに追加します。
次のように必須フィールドに入力します。
タスクのバージョン: 2.\*。
表示名: タスクの表示名。
シンボル フォルダーへのパス: シンボル ファイルをホストしているフォルダーへのパス。
検索パターン: シンボル フォルダーへのパスで指定したフォルダー内の .pdb ファイルを検索 するために使用されるパターン。
インデックス ソース: ソース サーバー情報を PDB ファイルに挿入するかどうかを示します。
シンボルの発行: シンボル ファイルを発行するかどうかを示します。
- シンボル サーバーの種類: [ファイル共有 ] を選択して、シンボルをファイル共有に発行します。
- シンボルを発行するパス: シンボルをホストするファイル共有。
詳細ログ: ログに詳細情報を含めるかどうかを確認します。
ポータブル PDB を Azure Artifacts シンボル サーバーに発行する
ポータブル PDB は、Windows でのみ使用される従来の PDB とは異なり、すべてのプラットフォームで作成および使用できるシンボル ファイルです。 移植可能な PDB の場合、ビルドではインデックス作成が行われますが、シンボルを発行するには、 インデックス ソースとシンボルの発行 タスクを使用する必要があります。
.NET プロジェクトでソース リンクを使用する
Source Link は、開発者が .NET アセンブリからソース コードにマッピングしてソース コードをデバッグできるようにする一連のツールです。 含まれているさまざまなパッケージについては、 dotnet/sourcelink GitHub リポジトリを参照してください。
GitHub でホストされているプロジェクトの場合は、
Microsoft.SourceLink.GitHub
パッケージ参照をプロジェクト ファイルに追加します。<ItemGroup> <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/> </ItemGroup>
Azure Repos (以前の Visual Studio Team Services) でホストされているプロジェクトの場合は、
Microsoft.SourceLink.AzureRepos.Git
パッケージ参照をプロジェクト ファイルに追加します。<ItemGroup> <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/> </ItemGroup>
Azure DevOps Server (以前の Team Foundation Server) でホストされているプロジェクトの場合は、
Microsoft.SourceLink.AzureDevOpsServer.Git
パッケージ参照をプロジェクト ファイルに追加します。<ItemGroup> <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/> </ItemGroup>
発行タスクを設定する
ソースのインデックス作成とシンボルの発行タスクは、ソース コードのインデックスを作成し、シンボルを Azure Artifacts シンボル サーバーとファイル共有に発行するために使用されます。 ソース リンクを使用しているため、発行タスクでインデックス作成を無効にする必要があります。
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[ パイプライン] を選択し、パイプラインを選択し、[ 編集] を選択してパイプラインを変更します。
パイプライン定義から、
+
を選択して新しいタスクを追加します。インデックス ソースとシンボルの発行タスクを検索します。 [ 追加] を選択してパイプラインに追加します。
必要なフィールドに入力し、[ シンボル サーバー] の 種類として [ シンボル サーバー] を選択します。 インデックス作成を無効にするには、 必ず [インデックス ソース ] をオフにします。
Von Bedeutung
[インデックス ソース] および [シンボルのパブリッシュ] タスクを使用してパブリッシュされたシンボルを削除するには、まず、それらのシンボルを生成したビルドを削除する必要があります。 これを行うには、保持ポリシー を使用するか、実行 を手動で削除します。
Visual Studio を設定する
注
Visual Studio for Mac では、シンボル サーバーを使用したデバッグはサポートされていません。
Azure Artifacts シンボル サーバーからシンボルの使用を開始する前に、Visual Studio が正しく設定されていることを確認しましょう。
Visual Studio で、[ ツール ]、[ オプション] の順に選択します。
[デバッグ] メニューから [シンボル] を選択します。
+
記号を選択して、新しいシンボル サーバーの場所を追加します。新しいダイアログ ボックスが表示され、ドロップダウン メニューから自分のアカウントを選択し、接続先の組織を選択します。 完了したら 、[接続 ] を選択します。
同じ [デバッグ] セクションから [全般] を選択します。 下にスクロールし 、[ソース リンクのサポートを有効にする] をオンにして、ポータブル PDB のサポートを有効にします。
注
[ソース サーバーのサポートを有効にする] オプションをオンにすると、ソース コードがローカルで使用できない場合や、シンボル ファイルがソース コードと一致しない場合に、ソース サーバーを使用できます。 サードパーティのソース コードのデバッグを有効にする場合は、[ マイ コードのみを有効にする] チェック ボックスをオフにします。
よく寄せられる質問
Q: シンボルが保持される期間は何ですか?
A: シンボル ファイルの保持期間は、シンボル ファイルを生成したビルドと同じです。 手動またはアイテム保持ポリシーを使用してビルドを削除すると、そのビルドによって生成されたシンボルも削除されます。
Q: .NET Core アセンブリから生成されたポータブル PDB でソース インデックス作成を使用できますか。
A: 現時点では不可能です。 移植可能な PDB では、ソース インデックス作成は現在サポートされていません。 推奨される方法は、インデックス作成を実行するようにビルドを構成することです。