方法 : 実行中のプロセスにアタッチする

更新 : 2007 年 11 月

このトピックの内容は、次の製品に該当します。

エディション

Visual Basic

C#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Standard

トピック該当 トピック該当

トピック該当

トピック該当

Pro/Team

トピック該当 トピック該当

トピック該当

トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

Visual Studio デバッガは、実行中のすべてのプロセスにアタッチできます。

実行中のプロセスにアタッチするには

  1. [デバッグ] メニューの [プロセスにアタッチ] をクリックします (開いているプロジェクトがない場合は、[ツール] メニューの [プロセスにアタッチ] をクリックします)。

  2. [プロセスにアタッチ] ダイアログ ボックスの [選択可能なプロセス] ボックスの一覧で、アタッチするプログラムを探します。

    1. デバッグするプログラムが別のコンピュータで実行中の場合は、最初にリモート コンピュータを選択する必要があります。詳細については、「方法 : リモート コンピュータを選択する」を参照してください。

    2. プロセスが別のユーザー アカウントで実行されている場合は、[すべてのユーザーからのプロセスを表示する] チェック ボックスをオンにします。

    3. リモート デスクトップ接続経由で接続している場合は、[すべてのセッションのプロセスを表示する] チェック ボックスをオンにします。

  3. [アタッチ先] ボックスに、デバッグするコードの種類が表示されていることを確認します。既定の [自動] 設定では、デバッグするコードの種類が自動的に判断されます。自動による設定が適切でなかった場合は

    1. [選択] をクリックします。

    2. [コードの種類の選択] ダイアログ ボックスで、[次のコードの種類をデバッグする] をクリックし、デバッグする種類を選択します。

    3. [OK] をクリックします。

  4. [アタッチ] をクリックします。

    [プロセス] ダイアログ ボックスを開くと、[選択可能なプロセス] ボックスが自動的に表示されます。このダイアログ ボックスが開いている間に、プロセスをバックグラウンドで開始および停止できます。このため、内容が常に最新であるとは限りません。[更新] をクリックすると、いつでも一覧の内容を更新して、現在のプロセス一覧を確認できます。

    デバッグ中には複数のプログラムにアタッチできますが、デバッガでアクティブになっているプログラムは常に 1 つだけです。アクティブなプログラムは、[デバッグの場所] ツール バーまたは [プロセス] ウィンドウで設定できます。詳細については、「方法 : 現在のプロセスを設定する」を参照してください。

    [デバッグ] メニューのすべての実行コマンドは、アクティブ プログラムに影響します。デバッグ対象のプログラムは、[プロセス] ダイアログ ボックスで中断できます。[デバッグ] メニューでは、アタッチされているすべてのプログラムを中断できます。詳細については、「方法 : 実行を中断する」を参照してください。

    c6wf8e4z.alert_note(ja-jp,VS.90).gifメモ :

    Visual C++ で記述されたマネージ コードにデバッガをアタッチするには、コードが DebuggableAttribute を生成する必要があります。/ASSEMBLYDEBUG リンカ オプションを使ってリンクすると、これを自動的にコードに追加できます。

    信頼関係のないユーザー アカウントによって所有されているプロセスにアタッチしようとすると、セキュリティ警告の確認ダイアログ ボックスが表示されます。詳細については、「セキュリティ警告 : 信頼されていないユーザーが所有するプロセスにアタッチするには危険が伴います。以下の情報に関して疑わしい点がある場合や、不明な場合は、このプロセスにアタッチしないでください。」を参照してください。

    リモート デスクトップ (ターミナル サービス) セッションでのデバッグ時には、[選択可能なプロセス] ボックスに、使用可能なプロセスのすべてが表示されない場合があります。Windows Server 2003 以降のバージョンでは、Visual Studio を制限付きユーザーとして実行している場合、[選択可能なプロセス] ボックスの一覧には、セッション 0 で実行しているプロセスは表示されません。セッション 0 は、サービスおよび w3wp.exe を含むその他のサーバー プロセス用に使用されます。この問題を解決するには、管理者アカウントで Visual Studio を実行するか、ターミナル サービス セッションからではなくサーバー コンソールから Visual Studio を実行します。どちらの方法も実行できない場合、3 つ目の方法として、Windows コマンド ラインから vsjitdebugger.exe -pProcessId を実行することによって、プロセスにアタッチできます。プロセス ID は tlist.exe を使用して確認できます。tlist.exe を取得するには、https://www.microsoft.com/japan/whdc/DevTools/Debugging/default.mspx で Windows 対応のデバッグ ツールをダウンロードし、インストールします。

参照

処理手順

方法 : マネージ デバイスのプロセスに接続する

概念

デバッガのセキュリティ

参照

セキュリティ警告 : 信頼されていないユーザーが所有するプロセスにアタッチするには危険が伴います。以下の情報に関して疑わしい点がある場合や、不明な場合は、このプロセスにアタッチしないでください。

その他の技術情報

実行中のプロセスへのアタッチ