2008-09-16 20 views
10

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

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

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

ローカルに接続しようとするとエラーが発生します。 このコンピュータでは、異なるターミナルサーバーセッションのプロセスにアタッチすることはできません。マシンのリモートデバッグを試み、プロセスのセッションでMicrosoft Visual Studioリモートデバッグモニタを実行します。

私はアプリケーションとして32ビットのリモートデバッガを実行しようとすると、それは文句を言わない仕事が添付B/Cリモートデバッガは、私はこれを試していないが、私のセッションではなくセッションに0

+0

問題の詳細を教えてください。問題の32ビットサービスは何ですか?エラーとは正確には何か - それはビットであることを暗示しますが、64ビットデバッガは32ビットマネージドコードafafをロードできるはずです。 – x0n

答えて

16

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 
+0

それは私のおかげで素晴らしい作品です!私からこの宝石+1票を見つけるためにたくさんの検索をしました。 – Xander

3

を実行しているが、とにかくお勧めです:

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リモートデバッガサービスを停止するか、あるいは削除する必要があります。

これはrdbgsetup_x64.exeをインストールし、設定ウィザードを経た後に私のマシン(TM)上で動作します
3

私はあなたが何をしたいのか、実際に動作することを確認することができます。私は頻繁にVS2008リモートデバッガを使ってx64 win2003サーバに32ビットXP仮想マシンを接続します。

7

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

あなたもこれを行うことができます:

  • 停止デフォルトのデバッグサービス (インストーラ としてのx64となります1が実行するには、その巧妙なと を構成していただろう)。
  • リモートデバッガの開始 メニューフォルダに移動し、x86デバッグ サービスを実行します。
    32bit/64bitに関する警告を無視してください。
  • オープン リモートデバッガのアプリケーションウィンドウの[ツール] - > [Options]ウィンドウと「サーバー
    名」テキストボックスに値の
    メモします。
  • 今、あなたは、Visual Studioのダイアログ
    をプロセスにアタッチの「修飾子は」text /コンボ ボックスに「サーバー名」
    値をコピーして、それにあなたのVisual Studio を添付することができます。関連ノートで

あなたはここで説明する2003マシンにWindows 2008の/ 7 /ビスタから添付されている場合は、低レベルのバグがKerberos認証でもあります:http://www.labs.jobserve.com/Articles.aspx/Remote-debugging-code-on-Windows-2003-from-Vista-or-Windows-72008-R2とMSに報告(最近のように閉じました'外部')経由でここに接続:https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455

+0

Kerberos認証の問題については、https://connect.microsoft.com/WindowsServerFeedback/feedback/ViewFeedback.aspx?FeedbackID = 518848を参照してください。 誰か他の人がこの問題に遭遇した場合は、投票してください - 私はWindowsチームがVSチームに戻ってくることを疑っています。 –

+0

これは私の魅力のように働いた!ありがとう!スタートメニューからx86オプションを実行するだけでした。サービスを扱うよりもずっと簡単です。 –

+0

私のために働いていますが、私はホストボックスから修飾子を入力した後にインバウンド接続を許可するためにサーバーボックスにyes/noプロンプトを1つ追加しました。 –

0

追加のソフトウェアをインストールせずに私のために働いた。私はちょうどC:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote DebuggerフォルダーをVMにコピーし、フォルダーからmsvsmon.exeを開始しました。私のゲストもホストもx64です。

0

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

2)あなたがここにx86のプロセスのデバッグのための実行可能ファイルを見つけることができます... C:\ Program Files \ MicrosoftビジュアルStudio 14.0 \ Common7 \ IDEリモートデバッガ\ \ X86 \でMsvsmon.exe

3)あなたの場合それをタスクバーに固定します。

0

ときどきこのエラーが発生しました。私はビジュアルスタジオを閉じてもう一度開くと、すべて正常です!

vs

から非常に奇妙な動作
関連する問題