Share via


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

更新 : 2007 年 11 月

デバイス上のプロセスには、デスクトップの場合とほとんど同じ方法でアタッチできます。ただし、デバッガのない状態でプロセスが既に実行している場合は、デバイスでレジストリ キーを設定して、マネージ デバッグを有効にする必要があります。このキーの設定は、手動で変更するまで維持されます。またはエミュレータの場合は、設定を保存しないでエミュレータを終了するまで維持されます。

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

デバイスのデバッグ キーを設定すると、パフォーマンスが低下します。デバッグしていないときは、キーをリセットします。

2 つのデバッガにアタッチしようとすると、またはデバイスのレジストリ キーを設定しないでマネージ デバッガにアタッチしようとすると、エラー メッセージが表示される場合があります。

プロセスを起動するには、ファイル エクスプローラ、コマンド プロンプトなどいくつかの方法があります。次の手順では、[デバッグ] メニューからプロセスを開始します。また、マネージ デバッガがない状態でもプロセスを起動して、後から接続することもできます。

Platform Builder から生成した Windows CE プラットフォームを対象にしている場合、toolhelp.dll ライブラリを用意して、[選択可能なプロセス] ペインを設定する必要があります。このライブラリは、Windows Mobile SDK に含まれます。

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

お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。

マネージ プロセスのデバッグ

マネージ プロセスをデバッグするには

  • [デバッグ] メニューの [開始] をクリックします。

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

    [デバッグ] メニューで起動したプロセスから接続を解除した場合、再接続するには、プロセスの実行中に接続する以下の手順を実行する必要があります。つまり、デバイスのレジストリ キーを設定する必要があります。

実行中のマネージ プロセスへの接続

実行中のプロセスにアタッチする場合 (たとえば、[デバッグなしで開始] をクリックして実行中のマネージ プロセスにアタッチする場合)、プロセスを開始する前で、かつ [プロセスにアタッチ] ダイアログ ボックスを使用して接続する前に、デバイスのレジストリ キーを設定する必要があります。次に詳細なプロセスの手順を示します。

デバイスのレジストリ キーを設定して実行中のプロセスに接続するには

  1. Windows の [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に [Microsoft Visual Studio 2008] をポイントし、[Visual Studio Tools] をポイントして、[リモート レジストリ エディタ] をクリックします。

  2. リモート レジストリ エディタを使用して、デバイスに接続します。

  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework\Managed Debugger キーを表示します。ない場合は作成します。

  4. AttachEnabled という DWORD 値を設定または作成します。

  5. この値のデータを 1 に設定します。

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

    デバイスのデバッグ キーを設定すると、パフォーマンスが大幅に低下します。デバッグ中ではない場合、マネージ接続は無効にします。データ値を 0 にリセットするか、AttachEnabled 値を削除します。

  6. リモート レジストリ エディタを閉じます。

    これで、マネージ接続が有効になります。また、デバッガなしでプロセスを起動して、[プロセスにアタッチ] ダイアログ ボックスを使用してプロセスに接続できます。

プロセスが実行されているときにマネージ プロセスに接続するには

  1. 前述の手順でレジストリ キーを設定した後に、デバッガなしでプロセスを開始します。

  2. [ツール] メニューの [プロセスにアタッチ] をクリックします。

  3. [トランスポート] ボックスで、[スマート デバイス] をクリックします。

  4. [修飾子] ボックスの [参照] をクリックします。

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

    現在のセッションから最近使用されたデバイスについて、[修飾子] ボックスが表示されます。

  5. [デバイスへの接続] ダイアログ ボックスで、プラットフォームとデバイスを選択し、[接続] をクリックします。

  6. [選択可能なプロセス] ペインで、接続するプロセスを 1 つ以上選択し、[アタッチ] をクリックします。

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

    コードの種類は、使用できる場合は既定で自動的に [マネージ (.NET Compact Framework)] に設定されます。それ以外の場合は、[ネイティブ (スマート デバイス)] に設定されます。既定の設定をオーバーライドするには、[選択] をクリックし、[コードの種類の選択] ダイアログ ボックスを開きます。両方を選択できない点に注意してください。

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

    相互運用のデバッグはサポートされていません。つまり、マネージ コードとネイティブ コードの両方を同時にデバッグすることはできません。

プロセスの接続解除または終了

プロセスを接続解除または終了するには

  1. [デバッグ] メニューの [ウィンドウ] をポイントし、[プロセス] をクリックします。

  2. [プロセス] ウィンドウで、接続解除または終了するプロセスを右クリックします。

  3. ショートカット メニューの [プロセスの終了] または [プロセスのデタッチ] をクリックします。

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

    このショートカット メニューから、[プロセスにアタッチ] ダイアログ ボックスを開き直すこともできます。

[選択可能なプロセス] ペインの設定

Windows CE プロジェクトの [選択可能なプロセス] ペインを設定するには

  • Windows CE の OS イメージに toolhelp.dll を含めます。

    または

    手動で toolhelp.dll を対象デバイスにコピーします。

参照

処理手順

チュートリアル : マネージ コードとネイティブ コードの両方を含むソリューションのデバッグ

概念

Visual C++ デバイス プロジェクトのビルドとデバッグ

その他の技術情報

デバイス プロジェクトのデバッグ