質問

x86 リモート デバッガーを 64 ビット マシンにサービスとしてインストールすることはできますか?セッション 0 プロセスのマネージド コードにデバッガーをアタッチする必要があります。プロセスは 32 ビットで実行されますが、インストールされるデバッガー サービスは 64 ビットであるため、32 ビット プロセスに接続されません。

SC コマンドを使用してサービスを作成してみたところ、サービスを開始でき、タスク マネージャー プロセスで実行されていることを確認できました。ただし、Visual Studio で接続しようとすると、リモート デバッガー モニターが有効になっていないと表示されました。x86 サービスを停止し、x64 サービスを開始すると、モニターは見つかりましたが、それでもエラーが発生しました。

リモート デバッガーを使用しようとしたときのエラーは次のとおりです。プロセスに接続できません。64 ビット バージョンの Visual Studio リモート デバッグ モニター (MSVSMON.EXE) は、32 ビット プロセスまたは 32 ビット ダンプをデバッグできません。代わりに 32 ビット バージョンを使用してください。

ローカルに接続しようとしたときのエラーは次のとおりです。このコンピュータでは、別のターミナル サーバー セッションのプロセスへのアタッチはサポートされていません。マシンへのリモート デバッグを試し、プロセスのセッションで Microsoft Visual Studio リモート デバッグ モニターを実行してください。

32 ビット リモート デバッガーをアプリケーションとして実行しようとすると、リモート デバッガーがセッション 0 ではなく自分のセッションで実行されているため、接続できません。

役に立ちましたか?

解決

これは、rdbgsetup_x64.exe をインストールし、構成ウィザードを実行した後、私のマシン (TM) で動作します。

sc stop msvsmon90
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90"
sc start msvsmon90

他のヒント

64 ビット IIS 内で 32 ビットとして実行されている Web サイトをリモート デバッグしようとしたときにも、同じ問題が発生しました。

次のようにすることもできます。

  • デフォルトのデバッグサービスを停止します(インストーラーが賢く、実行するように構成されているため、これはx64になります)。
  • リモートデバッガーのスタートメニューフォルダーに移動し、X86デバッグサービスを実行します。に関する警告は無視してください
    32ビット/64ビット。
  • リモートデバッガーアプリウィンドウのツール - >オプションウィンドウを開き、
    「サーバー」の値をメモします。
    「名前」テキストボックス。
  • これで、「サーバー名」をコピーして、ビジュアルスタジオを添付できます。
    プロセスへの添付]ダイアログの添付の「予選」テキスト/コンボボックスへの値
    Visual Studioの。

これに関連して、Windows 2008/7/Vista から 2003 マシンに接続している場合、Kerberos 認証にも低レベルのバグがあり、ここで Connect 経由で MS に報告されました (その後、「外部」として閉じられました)。 https://connect.microsoft.com/VisualStudio/フィードバック/ViewFeedback.aspx?FeedbackID=508455

私はこれを試していませんが、とにかく提案があります:

x86 リモート デバッガー サービスを手動でインストールしてみてください。

sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90"

2 つのメモ:

  • MSVSMon.exeへのパスで短いファイル名を使用して、パスの引用を防ぐ必要があります(コマンド全体を引用する必要があるため)
  • 「binpath =」の後のスペースが必要です( '='文字の前にスペースはありません)。SCコマンドのコマンドラインパーサーを書いた人は誰でも呪われている必要があります。

その後、services.msc コントロール パネル アプレットを使用して、正しい資格情報で実行できるようになります。

おそらく、既存の x64 リモート デバッガー サービスを停止するか、場合によっては削除する必要があるでしょう。

あなたがやりたいことが本当にうまくいくことを確認できます。私はよく 32 ビット XP ワーステーションを VS2008 リモート デバッガを備えた x64 win2003 サーバーに接続します。

追加のソフトウェアをインストールしなくてもうまくいきました。ただコピーしただけです C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger VM 上のフォルダーに移動し、 msvsmon.exe から x86 フォルダ。私のゲストもホストも x64.

1) x64 バージョンをインストールします。これにより、x86 デバッガーもインストールされますが、ショートカットは作成されません。

2) ここで、x86 プロセスのデバッグ用の実行可能ファイルを見つけることができます。C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE emote Debugger\x86\msvsmon.exe

3) 必要に応じて、タスクバーにピン留めします。

時々このエラーが発生することがありますが、Visual Studio を閉じて再度開くだけで、すべて問題ありません。

vs からの非常に奇妙な動作

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top