Visual Studio デバッガーは、ローカル コンピューターまたはリモート コンピューター上の実行中のプロセスにアタッチできます。 プロセスが実行されたら、デバッグ>プロセスにアタッチするか、Visual Studio で Ctrl+Alt+p キーを押し、[プロセスにアタッチ] ダイアログを使用してデバッガーをプロセスにアタッチします。
[プロセスにアタッチ] を使用すると、ローカル コンピューターまたはリモート コンピューターで実行中のアプリをデバッグしたり、複数のプロセスを同時にデバッグしたり、Visual Studio で作成されなかったアプリをデバッグしたり、デバッガーをアタッチして Visual Studio から起動しなかったアプリをデバッグしたりできます。 たとえば、デバッガーなしでアプリを実行していて、例外が発生した場合は、アプリを実行しているプロセスにデバッガーをアタッチしてデバッグを開始できます。
ヒント
デバッグ シナリオで プロセスにアタッチを 使用するかどうかがわからない場合 一般的なデバッグ シナリオを参照してください。
ローカル コンピューターで実行中のプロセスにアタッチする
以前にアタッチしたプロセスにすばやく再アタッチするには、「 プロセスに再アタッチする」を参照してください。
Visual Studio 2022 バージョン 17.10 Preview 2 以降では、[プロセスにアタッチ] ダイアログ ボックスが変更されました。 以前のダイアログ ボックスに一致する手順が必要な場合は、Visual Studio 2019 ビュー (記事の左上のバージョン セレクター) に切り替えます。
ローカル コンピューター上のプロセスにアタッチするには:
Visual Studio で[デバッグ]>[プロセスにアタッチ]を選択します (または Ctrl+Alt+P キーを押して[プロセスにアタッチ]ダイアログ ボックスを開きます。
[接続の種類] を [ローカル] に設定します。
ほとんどのローカル デバッグ シナリオでは、 ローカルを使用できます。 一部のシナリオでは、別の接続の種類が必要になる場合があります。 詳細については、この記事の他のセクションまたは 一般的なデバッグ シナリオを参照してください。
[使用可能なプロセス] の一覧で、アタッチするプロセスを見つけて選択します。
- プロセスをすばやく選択するには、[ プロセスのフィルター] ボックスにその名前または最初の文字を入力します。
- プロセス名がわからない場合は、一覧を参照するか、 一般的なプロセス名の一般的なデバッグ シナリオを 参照してください。
- [Track Window]\(ウィンドウの追跡\) ボタンを使用して、プロセスを設定するコンピューター上のウィンドウの選択を有効にします。
ヒント
プロセスは、[ プロセスにアタッチ ] ダイアログ ボックスが開いている間にバックグラウンドで開始および停止できるため、実行中のプロセスの一覧が常に最新であるとは限りません。 任意のタイミングで更新を選択すると、現在の一覧が表示されます。
[ コードの種類 ] フィールドに、デバッグする予定のコードの種類が一覧表示されていることを確認します。
既定の 自動 設定はほとんどのアプリの種類で機能しますが、特定のコードの種類を選択してデバッガーの種類を手動で指定できます。
アタッチを選択します。
ヒント
複数の同じプロセスがあるシナリオでは、コマンド ライン列またはタイトル列の w3wp プロセスの詳細を使用して、適切なプロセスを特定します。
Visual Studio で[デバッグ]>[プロセスにアタッチ]を選択します (または Ctrl+Alt+P キーを押して[プロセスにアタッチ]ダイアログ ボックスを開きます。
接続の 種類を確認します。
ほとんどのシナリオでは、 Default を使用できます。 一部のシナリオでは、別の接続の種類が必要になる場合があります。 詳細については、この記事の他のセクションまたは 一般的なデバッグ シナリオを参照してください。
接続ターゲットをローカル コンピューター名に設定します。
[使用可能なプロセス] の一覧で、アタッチするプロセスを見つけて選択します。
プロセスをすばやく選択するには、[ プロセスのフィルター] ボックスにその名前または最初の文字を入力します。
プロセス名がわからない場合は、一覧を参照するか、 一般的なプロセス名の一般的なデバッグ シナリオを 参照してください。
ヒント
プロセスは、[ プロセスにアタッチ ] ダイアログ ボックスが開いている間にバックグラウンドで開始および停止できるため、実行中のプロセスの一覧が常に最新であるとは限りません。 任意のタイミングで更新を選択すると、現在の一覧が表示されます。
[ アタッチする ] フィールドに、デバッグする予定のコードの種類が一覧表示されていることを確認します。 既定の 自動 設定は、ほとんどのアプリの種類で機能します。
既定の接続の種類を使用している場合は、アタッチするコードの種類を手動で選択できます。 それ以外の場合は、[ 選択 ] オプションが無効になっている可能性があります。
コードの種類を手動で選択するには:
- [選択] をクリックします。
- [ コードの種類の選択 ] ダイアログ ボックスで、[ これらのコードの種類をデバッグする] を選択します。 一覧のプロセスにアタッチしようとしたときにエラーが発生した場合は、[ コードの種類の選択 ] ダイアログ ボックスを使用して問題の トラブルシューティング を行うことができます。
- デバッグするコードの種類を選択します。
- [OK] を選択.
アタッチを選択します。
注
デバッグ用に複数のアプリにアタッチできますが、デバッガーで一度にアクティブなアプリは 1 つだけです。 アクティブなアプリは、Visual Studio の [デバッグの場所 ] ツール バーまたは [プロセス ] ウィンドウで設定できます。
リモート コンピューター上のプロセスに接続する
[ プロセスにアタッチ ] ダイアログ ボックスでリモート コンピューターを選択し、そのコンピューターで実行されている使用可能なプロセスの一覧を表示し、デバッグのために 1 つ以上のプロセスにアタッチすることもできます。 リモート デバッガー (msvsmon.exe) がリモート コンピューターで実行されている必要があります。 詳細については、「 リモート デバッグ」を参照してください。
Visual Studio 2022 バージョン 17.10 Preview 2 以降では、[プロセスにアタッチ] ダイアログ ボックスが変更されました。 以前のダイアログ ボックスに一致する手順が必要な場合は、Visual Studio 2019 ビュー (記事の左上のバージョン セレクター) に切り替えます。
リモート コンピューターで実行中のプロセスにアタッチするには:
Visual Studio で[デバッグ]>[プロセスにアタッチ]を選択します (または Ctrl+Alt+P キーを押して[プロセスにアタッチ]ダイアログ ボックスを開きます。
接続の 種類 をリモート接続の種類 (Windows) などのリモート接続の種類に設定します。
Windows でのリモート デバッグのほとんどのシナリオでは、 リモート (Windows) を使用できます。 Linux やコンテナー化されたアプリのデバッグなど、一部のシナリオでは、別の接続の種類が必要です。 詳細については、この記事の他のセクションまたは 一般的なデバッグ シナリオを参照してください。
[ 接続ターゲット ] オプションが表示されます。
[ 接続ターゲット ] ボックスで、次のいずれかの方法を使用してリモート コンピューターを選択します。
- [ 接続ターゲット] の横にあるドロップダウン リストの矢印を選択し、ドロップダウン リストからコンピューター名を選択します。
- [接続先] ボックスにコンピューター名を入力し、Enter キーを押します。
- [接続ターゲット] ボックスの横にある [検索] ボタンを選択して、[リモート接続] ダイアログ ボックスを開きます。 [ リモート接続 ] ダイアログ ボックスには、ローカル サブネット上にある、またはコンピューターに直接接続されているすべてのデバイスが一覧表示されます。 リモート デバイスを検出するには、サーバーで 送信 UDP ポート 3702 を開 く必要がある場合があります。 目的のコンピューターまたはデバイスを選択し、ダイアログ ボックスを閉じます。
Visual Studio がリモート コンピューター名に必要なポートを追加していることを確認してください。これは、次の形式で表示されます: <リモート コンピューター名>:ポート
注
リモート コンピューター名を使用して接続できない場合は、IP アドレスとポート アドレス (
123.45.678.9:4026など) を使用してみてください。 4026 は、Visual Studio 2022 リモート デバッガーの既定のポートです。 その他のリモート デバッガー ポートの割り当てについては、「 リモート デバッガーのポートの割り当て」を参照してください。接続の種類の設定は、デバッグ セッション間で保持されます。 [ 接続ターゲット] 設定は、そのターゲットとのデバッグ接続が成功した場合にのみ、デバッグ セッション間で保持されます。
[ 更新 ] をクリックして、[ 使用可能なプロセス ] の一覧を設定します。
ヒント
プロセスは、[ プロセスにアタッチ ] ダイアログ ボックスが開いている間にバックグラウンドで開始および停止できるため、実行中のプロセスの一覧が常に最新であるとは限りません。 任意のタイミングで更新を選択すると、現在の一覧が表示されます。
[使用可能なプロセス] の一覧で、アタッチするプロセスを見つけて選択します。
プロセスをすばやく選択するには、プロセスの検索ボックスにその名前または最初の文字を入力します。
プロセス名がわからない場合は、一覧を参照するか、 一般的なプロセス名の一般的なデバッグ シナリオを 参照してください。
すべてのユーザー アカウントで実行されているプロセスを検索するには、[ すべてのユーザーからプロセスを表示 する] チェック ボックスをオンにします。
注
信頼されていないユーザー アカウントが所有するプロセスにアタッチしようとすると、セキュリティ警告ダイアログ ボックスの確認が表示されます。 詳細については、「 セキュリティ警告: 信頼されていないユーザーが所有するプロセスへのアタッチは危険である可能性があります」を参照してください。次の情報が疑わしいと思われる場合、または不明な場合は、このプロセスにアタッチしないでください。
[ コードの種類 ] フィールドに、デバッグする予定のコードの種類が一覧表示されていることを確認します。
既定の 自動 設定はほとんどのアプリの種類で機能しますが、特定のコードの種類を選択してデバッガーの種類を手動で指定できます。
アタッチを選択します。
Visual Studio で[デバッグ]>[プロセスにアタッチ]を選択します (または Ctrl+Alt+P キーを押して[プロセスにアタッチ]ダイアログ ボックスを開きます。
接続の 種類を確認します。
ほとんどのシナリオでは、 Default を使用できます。 Linux やコンテナー化されたアプリのデバッグなど、一部のシナリオでは、別の接続の種類が必要です。 詳細については、この記事の他のセクションまたは 一般的なデバッグ シナリオを参照してください。
[ 接続ターゲット ] ボックスで、次のいずれかの方法を使用してリモート コンピューターを選択します。
- [ 接続ターゲット] の横にあるドロップダウン リストの矢印を選択し、ドロップダウン リストからコンピューター名を選択します。
- [接続先] ボックスにコンピューター名を入力し、Enter キーを押します。
- [接続ターゲット] ボックスの横にある [検索] ボタンを選択して、[リモート接続] ダイアログ ボックスを開きます。 [ リモート接続 ] ダイアログ ボックスには、ローカル サブネット上にある、またはコンピューターに直接接続されているすべてのデバイスが一覧表示されます。 リモート デバイスを検出するには、サーバーで 送信 UDP ポート 3702 を開 く必要がある場合があります。 希望するコンピューターまたはデバイスを選択し、選択をクリックします。
Visual Studio がリモート コンピューター名に必要なポートを追加していることを確認してください。これは、次の形式で表示されます: <リモート コンピューター名>:ポート
注
リモート コンピューター名を使用して接続できない場合は、IP アドレスとポート アドレス (
123.45.678.9:4022など) を使用してみてください。 4024 は、Visual Studio 2019 リモート デバッガーの既定のポートです。 その他のリモート デバッガー ポートの割り当てについては、「 リモート デバッガーのポートの割り当て」を参照してください。接続の種類の設定は、デバッグ セッション間で保持されます。 [ 接続ターゲット] 設定は、そのターゲットとのデバッグ接続が成功した場合にのみ、デバッグ セッション間で保持されます。
[ 更新 ] をクリックして、[ 使用可能なプロセス ] の一覧を設定します。
ヒント
プロセスは、[ プロセスにアタッチ ] ダイアログ ボックスが開いている間にバックグラウンドで開始および停止できるため、実行中のプロセスの一覧が常に最新であるとは限りません。 任意のタイミングで更新を選択すると、現在の一覧が表示されます。
[使用可能なプロセス] の一覧で、アタッチするプロセスを見つけて選択します。
プロセスをすばやく選択するには、[ プロセスのフィルター] ボックスにその名前または最初の文字を入力します。
プロセス名がわからない場合は、一覧を参照するか、 一般的なプロセス名の一般的なデバッグ シナリオを 参照してください。
すべてのユーザー アカウントで実行されているプロセスを検索するには、[ すべてのユーザーからプロセスを表示 する] チェック ボックスをオンにします。
注
信頼されていないユーザー アカウントが所有するプロセスにアタッチしようとすると、セキュリティ警告ダイアログ ボックスの確認が表示されます。 詳細については、「 セキュリティ警告: 信頼されていないユーザーが所有するプロセスへのアタッチは危険である可能性があります」を参照してください。次の情報が疑わしいと思われる場合、または不明な場合は、このプロセスにアタッチしないでください。
[ アタッチする ] フィールドに、デバッグする予定のコードの種類が一覧表示されていることを確認します。 既定の 自動 設定は、ほとんどのアプリの種類で機能します。
既定の接続の種類を使用している場合は、アタッチするコードの種類を手動で選択できます。 それ以外の場合は、[ 選択 ] オプションが無効になっている可能性があります。
コードの種類を手動で選択するには:
- [選択] をクリックします。
- [ コードの種類の選択 ] ダイアログ ボックスで、[ これらのコードの種類をデバッグする] を選択します。 一覧のプロセスにアタッチしようとしたときにエラーが発生した場合は、[ コードの種類の選択 ] ダイアログ ボックスを使用して問題の トラブルシューティング を行うことができます。
- [OK] を選択.
アタッチを選択します。
注
デバッグ用に複数のアプリにアタッチできますが、デバッガーで一度にアクティブなアプリは 1 つだけです。 アクティブなアプリは、Visual Studio の [デバッグの場所 ] ツール バーまたは [プロセス ] ウィンドウで設定できます。
場合によっては、リモート デスクトップ (ターミナル サービス) セッションでデバッグすると、 使用可能なプロセス の一覧に使用可能なすべてのプロセスが表示されない場合があります。 制限付きユーザー アカウントを持つユーザーとして Visual Studio を実行している場合、[ 使用可能なプロセス ] の一覧には、セッション 0 で実行されているプロセスは表示されません。 セッション 0 は、サービスおよびその他のサーバー プロセス (w3wp.exeを含む) に使用 されます 。 この問題を解決するには、管理者アカウントで Visual Studio を実行するか、リモート デスクトップ セッションではなくサーバー コンソールから Visual Studio を実行します。
これらの回避策のいずれも不可能な場合、3 つ目のオプションは、Windows コマンド ラインから vsjitdebugger.exe -p <ProcessId> を実行してプロセスにアタッチすることです。
tlist.exeを使用してプロセス ID を確認できます。
tlist.exeを取得するには、WDK と WinDbg のダウンロードで入手できる Windows 用デバッグ ツールをダウンロードしてインストールします。
Azure App Service (Windows) で実行されている .NET Core プロセスにアタッチする
Azure App Service (Windows) に発行する場合は、Azure での Core ASP.NET リモート デバッグ または Azure App Service のデバッグ に関するページを参照してください。
Azure App Service (Windows) で実行されている .NET Core プロセスにアタッチする
Azure App Service (Windows) に発行する場合は、発行プロファイルの [ホスティング] の [... ] メニューの下に [デバッガーのアタッチ] オプションが表示されます。 Visual Studio は、プロファイルが発行されている Azure App Service (Windows) のインスタンスにリモート デバッガーをアタッチしようとします。
SSH を使用して Linux で実行されている .NET Core プロセスにアタッチする
詳細については、「SSH を 使用して Linux で実行されている .NET Core のリモート デバッグ」を参照してください。
Docker コンテナーで実行されているプロセスにアタッチする
Visual Studio 2019 以降では、Docker コンテナーで実行されているプロセスに Visual Studio デバッガーをアタッチできます。 Linux .NET Core Docker コンテナーについては、「Linux Docker コンテナー で実行されているプロセスにアタッチする」を参照してください。 Windows Docker コンテナーについては、「Windows Docker コンテナーで実行されているプロセスにアタッチする」を参照してください。
プロセスに再アタッチする
[デバッグ] [プロセスに戻す](>Alt++) を選択すると、以前にアタッチしたプロセスにすばやく再アタッチできます。 このコマンドを選択すると、デバッガーは、最初に前のプロセス ID の照合を試み、失敗した場合は前のプロセス名と一致させることで、アタッチした最後のプロセスへのアタッチをすぐに試みます。 一致が見つからない場合、または同じ名前のプロセスが複数ある場合は、[ プロセスにアタッチ ] ダイアログ ボックスが開き、適切なプロセスを選択できます。
注
[プロセスへの再アタッチ] コマンドは、Visual Studio 2017 以降で使用できます。
一般的なデバッグ シナリオ
プロセスへのアタッチを使用するかどうか、そしてどのプロセスにアタッチするかを判断するために、次の表には、いくつかの一般的なデバッグシナリオと、使用可能な場合の詳細な手順へのリンクが示されています。 (リストは完全ではありません。
アタッチする実行中のプロセスをすばやく選択するには、Visual Studio で 「Ctrl+Alt+P」と入力し、プロセス名の最初の文字を入力します。
デバッガーが C++ で記述されたコードにアタッチするには、コードで DebuggableAttributeを出力する必要があります。
/ASSEMBLYDEBUG リンカー オプションを使用してリンクすることで、これをコードに自動的に追加できます。
クライアント側のスクリプト デバッグの場合は、ブラウザーでスクリプト デバッグを有効にする必要があります。 Chrome でクライアント側スクリプトをデバッグする場合は、コードの種類として JavaScript または TypeScript を選択します。アプリの種類によっては、すべての Chrome インスタンスを閉じて、デバッグ モードでブラウザーを起動する必要がある場合があります (コマンド ラインから chrome.exe --remote-debugging-port=9222 入力します)。
クライアント側のスクリプト デバッグの場合は、ブラウザーでスクリプト デバッグを有効にする必要があります。 Chrome でクライアント側スクリプトをデバッグする場合は、コードの種類として JavaScript (Chrome) または JavaScript (Microsoft Edge - Chromium) を選択します。アプリの種類によっては、すべての Chrome インスタンスを閉じて、デバッグ モードでブラウザーを起動する必要がある場合があります (コマンド ラインから chrome.exe --remote-debugging-port=9222 を入力します)。 以前のバージョンの Visual Studio では、Chrome のスクリプト デバッガーは Web キットでした。
| Scenario | Debug メソッド | プロセス名 | メモとリンク |
|---|---|---|---|
| ASP.NET Core - インターネット インフォメーション サービス (IIS) サーバーでのリモート デバッグ | リモート ツールを使用してプロセスに接続する | w3wp.exe または dotnet.exe | .NET Core 3 以降では、 w3wp.exe プロセスが既定の アプリ内ホスティング モデルに使用されます。 アプリの展開については、「 IIS に発行する」を参照してください。 詳細については、「リモート IIS コンピューター上 ASP.NET Core のリモート デバッグ」を参照してください。 |
| ASP.NET Core - デバッガーなしでアプリを起動した後、ローカル コンピューターでデバッグする | プロセスにアタッチ | appname.exe または iisexpress.exe | これは、プロファイリング時など、アプリの読み込みを高速化するのに役立つ場合があります。 ASP.NET Core の既定のローカル サーバー (kestrel) プロセスは appname.exe。 |
| ASP.NET 4 または 4.5 - IIS サーバーでのリモート デバッグ | リモート ツールと プロセスへのアタッチを使用する | w3wp.exe | リモート IIS コンピューターでのリモート デバッグ ASP.NET を参照してください |
| クライアント側スクリプト - サポートされているアプリの種類に対するローカル IIS サーバーでのデバッグ | プロセスへのアタッチを使う | chrome.exe または msedge.exe | スクリプトのデバッグを有効にする必要があります。 Chrome の場合は、デバッグ モードで Chrome を実行し (コマンド ラインから「chrome.exe --remote-debugging-port=9222」と入力)、[アタッチ] フィールドで JavaScript または TypeScript を選択する必要もあります。 |
| C#、Visual Basic、または C++ アプリ - ローカル コンピューターでのデバッグ | 標準デバッグ (F5) または プロセスへのアタッチを使用する | {appname}.exe | ほとんどのシナリオでは、 プロセスにアタッチせず、標準のデバッグを使用します。 |
| Windows デスクトップ アプリ - リモート デバッグ | リモート ツール | N/A | C# または Visual Basic アプリのリモート デバッグまたはC++ アプリのリモート デバッグに関するページを参照してください |
| Linux 上の .NET Core - デバッグ | プロセスにアタッチする | dotnet.exe または一意のプロセス名 | SSH を使用するには、SSH を 使用した Linux 上で実行されているリモート デバッグ .NET Core に関するページを参照してください。 コンテナー化されたアプリについては、「 Docker コンテナーで実行されているプロセスにアタッチする」を参照してください。 |
| コンテナー化されたアプリ - デバッグ | プロセスにアタッチを使用する | dotnet.exe または一意のプロセス名 | Docker コンテナーで実行されているプロセスへのアタッチに関する記事を参照してください |
| Linux 上の Python - リモート デバッグ | プロセスにアタッチを使用する | debugpy | 「Python ツールからリモートでアタッチする」を参照してください |
| サポートされているその他のアプリの種類 - サーバー プロセスでのデバッグ | サーバーがリモートの場合は、リモート ツールを使用し、 プロセスにアタッチする | chrome.exe、 msedge.exe、またはその他のプロセス | 必要に応じて、リソース モニターを使用してプロセスを特定します。 リモート デバッグを参照してください。 |
| ユニバーサル Windows プラットフォーム (UWP) アプリ、OneCore、HoloLens、または IoT アプリ - リモート デバッグ | インストールされているアプリ パッケージをデバッグする | N/A | 「プロセスにアタッチ」を使用する代わりに、インストールされているアプリ パッケージをデバッグする方法を参照してください |
| UWP アプリ、OneCore、HoloLens、または IoT - Visual Studio から起動しなかったアプリをデバッグする | インストールされているアプリ パッケージをデバッグする | N/A | 「プロセスにアタッチ」を使用する代わりに、インストールされているアプリ パッケージをデバッグする方法を参照してください |
デバッガー機能を使用する
プロセスにアタッチするときに Visual Studio デバッガーの完全な機能 (ブレークポイントのヒットなど) を使用するには、アプリがローカル ソースとシンボルと完全に一致している必要があります。 つまり、デバッガーは正しい シンボル (.pdb) ファイルを読み込める必要があります。 既定では、これにはデバッグ ビルドが必要です。
リモート デバッグのシナリオでは、Visual Studio でソース コード (またはソース コードのコピー) が既に開かれている必要があります。 リモート コンピューター上のコンパイル済みアプリ バイナリは、ローカル コンピューターと同じビルドから取得する必要があります。
一部のローカル デバッグ シナリオでは、正しいシンボル ファイルがアプリに存在する場合は、ソースにアクセスなしで Visual Studio でデバッグできます。 既定では、これにはデバッグ ビルドが必要です。 詳細については、「 シンボル ファイルとソース ファイルを指定する」を参照してください。
添付エラーのトラブルシューティング
一部のシナリオでは、デバッガーでデバッグするコードの種類を正しく識別するためのヘルプが必要になる場合があります。 接続値が正しく設定されている場合 ( [使用可能な プロセス] ボックスの一覧で正しいプロセスを表示できます)、デバッガーのアタッチに失敗した場合は、 コードの種類 の一覧で最も適切なデバッガーを選択してみてください。これは、Linux または Python アプリをデバッグする場合などに必要な場合があります。
一部のシナリオでは、デバッガーでデバッグするコードの種類を正しく識別するためのヘルプが必要になる場合があります。 接続の値が正しく設定されている場合 ( [使用可能な プロセス] ボックスの一覧で正しいプロセスを表示できますが)、デバッガーのアタッチに失敗した場合は、[接続の種類] ボックスの一覧で最も適切な接続 の種類 を選択してみてください。これは、Linux または Python アプリをデバッグする場合などに必要な場合があります。 既定の接続の種類を使用している場合は、このセクションで後述するように、接続する特定の種類のコードを選択することもできます。
デバッガーが実行中のプロセスにアタッチすると、プロセスに 1 つ以上の種類のコードを含めることができます。 デバッガーがアタッチできるコードの種類が表示され、[ コードの種類の選択 ] ダイアログ ボックスで選択されます。
場合によっては、デバッガーは 1 つのコード型に正常にアタッチできますが、別のコード型にはアタッチできません。 通常、これは次の場合に発生します。
- リモート コンピューターで実行されているプロセスにアタッチしようとするとします。 リモート コンピューターには、コードの種類によってはリモート デバッグ コンポーネントがインストールされている可能性がありますが、他のコードの種類にはインストールされません。
- データベースを直接デバッグするために、2 つ以上のプロセスにアタッチしようとするとします。 SQL デバッグでは、1 つのプロセスへのアタッチのみがサポートされます。
デバッガーが一部のコード型 (すべてではない) にアタッチできる場合は、アタッチに失敗した型を示すメッセージが表示されます。
デバッガーが少なくとも 1 つのコードの種類に正常にアタッチされた場合は、プロセスのデバッグに進むことができます。 正常にアタッチされたコード型のみをデバッグできます。 プロセスにアタッチされていないコードは引き続き実行されますが、ブレークポイントの設定、データの表示、そのコードに対するその他のデバッグ操作の実行はできません。
デバッガーがコード型にアタッチできなかった理由に関するより具体的な情報が必要な場合は、そのコード型のみに再アタッチしてみてください。
コード型のアタッチに失敗した理由に関する特定の情報を取得する
プロセスからデタッチします。 [ デバッグ ] メニューの [ すべてデタッチ] を選択します。
アタッチに失敗したコードの種類のみを選択して、プロセスに再アタッチします。
[ プロセスにアタッチ ] ダイアログ ボックスで、[ 使用可能な プロセス] の一覧でプロセスを選択します。
[ コードの種類 ] オプションで、アタッチに失敗したコードの種類を選択します。 その他のコードの種類の選択を解除します。
[ プロセスにアタッチ ]ダイアログ ボックスで、[ アタッチ]を選択します。
今回は、アタッチが完全に失敗し、特定のエラー メッセージが表示されます。
プロセスからデタッチします。 [ デバッグ ] メニューの [ すべてデタッチ] を選択します。
アタッチに失敗したコードの種類のみを選択して、プロセスに再アタッチします。
[ プロセスにアタッチ ] ダイアログ ボックスで、[ 使用可能な プロセス] の一覧でプロセスを選択します。
選択
[ コードの種類の選択 ] ダイアログ ボックスで、[ これらのコードの種類 とアタッチに失敗したコードの種類をデバッグする] を選択します。 その他のコードの種類の選択を解除します。
[OK] を選択.
[ プロセスにアタッチ ]ダイアログ ボックスで、[ アタッチ]を選択します。
今回は、アタッチが完全に失敗し、特定のエラー メッセージが表示されます。