web-dev-qa-db-ja.com

Visual Studioを使用しないマシンでリモートデバッグをセットアップする方法

Visual Studioがインストールされていないマシンでリモートデバッグ(Msvscom.exe)をセットアップする方法はありますか?

VMで実行中のサービスにアタッチしたいので、コードの問題をデバッグできます。これは以前に実行しましたが、両方のマシンにVSがインストールされています。

DevボックスはVisual Studio 2010/Windows 7を実行しています。VMはVisual StudioなしでWindows 7を実行しています。

49
CodeMan5000

私はこれを復活させようとします。これを試みた人は、それが毎回お尻の完全な痛みであり、あなたが持つことができるホスト/リモートシステムの可能な組み合わせごとにわずかに変化することを知っているからです.

Visual Studioリモートツールリンク:

  1. Visual Studio 2010リモートデバッガー (2016年10月21日現在)
  2. Visual Studio 2013リモートツール (2016年10月21日時点で動作)
  3. Visual Studio 2015リモートツールx86-直接ダウンロードリンク
  4. Visual Studio 2015リモートツールx64-直接ダウンロードリンク
  5. Visual Studioツール(Robo Burnedに感謝)

これは今日成功したセットアップです:

ホスト(開発者)マシン:
Windows 7 Ultimate SP1 x64。 Visual Studio 2010、.NET Framework 4の実行。

リモートマシン:
Windows Embedded Standard 32ビットを実行する産業/工場フロアPC。 Windows 7とまったく同じように見えます。SP1を実行しています。 Visual Studioがインストールされていません。 .NET framework 4を搭載しています。

ネットワーク:
両方のマシンが同じサブネット上にあります。 RDP経由でリモートマシンにアクセスし、その方法でアプリケーションを実行します。

Microsoft-Proprietary Follicle-Degradation Implementation:
開発マシンのユーザー名とパスワードを書き留めます。何らかの理由で、リモートマシン上でまったく同じユーザー名とパスワードを作成する必要があります。なぜならマイクロソフト。

私がやった方法:
@ sJhonnyが提供するリンクからVisual Studio 2010リモートデバッガーをダウンロードしました。その記事でVisual Studio 2013から2010年に切り替える必要がありました。ダウンロードを見つけるために細かい歯の櫛で2010年の記事を読みたい場合は、「誰もこれを見つけられません」の隣にリンクがあります上部の「役立つ」リンク。そうでない場合は、上のリンクをクリックしてください。

それをリモートマシンにインストールし、構成ウィザードを実行します。ウィザードのデフォルトのままにしました:

  • 「 'Visual Studio .....を実行する」がオフになっている
  • ユーザー名はLocalSystemで、パスワードは空白です
  • ローカルネットワーク上のコンピューターのみを許可します。

リモートシステムでリモートデバッガーを実行すると、以下が表示されます。

Msvsmonは「username @ machinename ...」という名前の新しいサーバーを開始しました

インターフェイスで。ここまでは順調ですね。リモートマシンでアプリケーションを実行します。開発マシンでは、Visual StudioのCtrl + Alt + Pで[プロセスにアタッチ]が開きます(ツールメニューにもあります)。開発マシンのファイアウォールが適切に設定されていないというポップアップが表示され、接続などを許可するかどうかを尋ねられました。

「username @ machinename」の組み合わせを修飾子ボックスに入力します...「更新」を押して、少し祈ってください。もう少し強く祈ると、リモートマシンで実行されているプロセスのリストが表示されます。プロセスを選択して添付します。

しかし、私のブレークポイントは動作しません!?もちろん、彼らは...リモートマシン上のアプリケーションと同じディレクトリにあるブレークポイントは意味がありすぎます。運がよければ、ブレークポイントキャッシュについて警告され、パスを含むダイアログが表示されます。

このダイアログには、リモートマシンに関連して正しいという点が記載されています。うそをついています。 Microsoftのせいで、現在のユーザーと同じ名前のまったく新しいユーザーをそこに作成することを余儀なくされたことを除いて、リモートマシンとは関係ありません。ブレークポイントを機能させるには、開発マシンのパス([ツール]> [オプション]> [デバッグ]> [シンボル:このディレクトリのシンボルをキャッシュ]でカスタマイズ可能)に従って、アプリケーションの.pdbファイルをそのディレクトリにコピーします。自動的に行うオプションがない限り、新しいビルドごとにそれらをコピーする必要があります。リモートデバッグの成功を祝うのをやめていないため、チェックしていません。

すべてが動作するはずです。

私が長年にわたってこれをさまざまなマシンで動作させようとしてきた忍耐強い怒りの時間を誰かが節約できることを願っています。

99
Brandon

確かにあります。
Visual Studioをインストールせずにmsvsmonをインストールできます。
私はこれを自分で複数のマシンで実行しました。
トリッキーな部分は認証にあります-ローカルマシンでVSを実行しているユーザーは、リモートマシンで特別な特権が必要です。
msには、詳細を説明する記事がいくつかあります。 http://msdn.Microsoft.com/en-us/library/bt727f1t.aspx

17
J. Ed
8
Isaac Baker

から取得: how-to-implement-remote-debugging-in-visual-studio-2005

この状況を明確に理解するための例を考えてみましょう。 Molly ClarkとAdam Barrは、どちらもAdventure Worksの従業員です。 Adventure Worksには、adventure-works.comという名前のMicrosoft Windows NTドメインがあります。 AdamはMollyが書いたいくつかのソフトウェアで問題を抱えています。 Mollyは、Adamのコンピューターでこのソフトウェアをデバッグしたいと考えています。モリーとアダムは次の手順に従います。

  • Adamは自分のコンピューターにリモートデバッガーを持っていません。リモートデバッガーをセットアップするために、MollyはコンピューターのProgram Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debuggerディレクトリを共有することにしました。彼女は、Remoteというファイル共有を作成します。
  • Adamは\ MollyComputerName\Remote\x86\Msvsmon.exeを実行します。
  • リモートデバッガーの起動後、Adamは[ツール]メニューの[アクセス許可]をクリックして、[アクセス許可]ダイアログボックスを使用してリモートデバッガーを構成します。彼はMollyにデバッグの許可を与えます。
    NoteAdamは、リモートデバッガーの起動時に/ allowオプションを渡すことにより、リモートデバッガーを構成することもできます。
  • MollyはVisual Studio 2005を起動します。
  • [プロセスにアタッチ]ダイアログボックスを開くには、[ツール]メニューの[プロセスにアタッチ]をクリックします。
  • MollyはQualifierボックスにadventure-works.com\Adam @ AdamComputerNameと入力してAdamのコンピューターに接続します。
  • [使用可能なプロセス]で、Mollyはアプリケーションが使用しているワーカープロセスを選択し、[添付]をクリックします。
  • Mollyはブラウザーを開き、リモートアプリケーションへのURLを提供します。アプリケーションのブレークポイントが置かれた場所で実行が停止します。
2