---
title: "コンテナ内で実行されるデバッグコード"
slug: "debug-code-running-in-containers"
abstract: "このトピックでは、コンテナ上で実行されているコードをどのようにデバッグするかを示します。"
---
# コンテナ内で実行されるデバッグコード

このトピックでは、ローカルのDockerコンテナ上でコードが動いているときに[Visual Studioを使ってコードをどのように診断](https://docs.microsoft.com/en-us/visualstudio/containers/view-and-diagnose-containers?view=vs-2019) するかを説明します。

## 始める前に

このガイドは、ソリューションのビルド出力を含むカスタムSitecoreランタイムイメージを構築・実行できることを前提としています。

ご自身の画像がない場合は、[Docker Examplesリポジトリ](https://github.com/Sitecore/docker-examples)の*カスタムイメージ*ソリューションをご利用いただけます。[準備手順](https://doc.sitecore.com/xp/ja/developers/103/developer-tools/run-your-first-sitecore-instance.html "Run your first Sitecore instance")に従うか、付属のinit.ps1スクリプトを実行して、これらの準備手順を自動的に実行してください。

## 前提条件

ローカルDockerコンテナでアプリをデバッグするには、以下の条件が必要です:

-   Visual Studio 2019 バージョン 16.5.0 以降

## デバッグシンボルが利用可能であることを確認しましょう

コンテナに特有のものではありませんが、デバッグシンボルがコンテナにデプロイされていることを必ず確認してください。

もし*Debug*ビルド構成でソリューションイメージを構築している場合、これはすでに行われているかもしれません。例えば、Docker Examplesリポジトリの*custom-images*例では、BUILD\_CONFIGURATION環境変数を使ってデフォルトで*Debug*に設定しています。

また、Visual Studioから実行中のコンテナに*Debug*ファイル展開を行うこともできます。

## Visual Studioデバッガをアタッチしてください

Visual Studioでは、コンテナ内のプロセスにアタッチするオプションが2つあります:

### オプション1:コンテナウィンドウを使う

**コンテナ**ウィンドウを使うには:

1.  もし **コンテナウィンドウ** が表示されない場合は、上部 **の「ビュー** 」メニューから開いてください。「 **その他のウィンドウ**」をクリックし、「コンテナ **」**をクリックします。
    
2.  実行中のコンテナリストで、デバッグしたいコンテナを右クリックし、「 **プロセスにアタッチ**」をクリックします:
    
    ![Image showing how you attach to a process in Visual Studio.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/developer-tools/images/VS-Containers.png)
    
3.  **「プロセスにアタッチ**」ダイアログが表示され、コンテナ内で実行中の利用可能なプロセスが表示されます。
    
    ![Visual Studio dialog with a list of processes.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/103/developer-tools/images/VS-Attach.png)
    
4.  **Attach to Process**の場合は、正しいコードタイプが選択されているか確認します。CMやCDw3wp.exeのデバッグには**、マネージドコード(v4.6、v4.5、v4.0)**が使われます。
    
5.  通常通りプロセス(例えば*w3wp.exe*)を選択し(見えなければ **すべてのユーザーのプロセスを表示する** )、「 **添付**」をクリックします。
    

### オプション2:デバッグメニューを使う

あるいは **、Debug**メニューを使うこともできますが、**Containers**ウィンドウよりも少し手順がかかります。

**デバッグ**メニューを使うには:

1.  上部 **のデバッグ** メニューから「 **プロセスにアタッチ** 」をクリックすると **、「プロセスにアタッチ** 」ダイアログが開きます。
2.  **接続タイプ**については、**Docker(Windowsコンテナ)**をクリックしてください。
3.  **接続ターゲット**については**「見つける**」をクリックします。実行中のコンテナがリストに表示されます。デバッグしたいコンテナを選択して「**OK」**をクリックします。
4.  **Attach to**については、正しいコードタイプが選択されていることを確認してください。CMやCDのw3wp.exeファイルのデバッグには**マネージドコード(v4.6、v4.5、v4.0)**があります。
5.  通常通りプロセス(例えば *w3wp.exe*)を選択し(見えなければ **すべてのユーザーのプロセスを表示する** )、「 **添付**」をクリックします。