-1

私が書いたコードが実行されるサーバーがあります。残念ながら、何か問題が発生したため、開発マシンで簡単に再現できません。

だから私はVSリモートデバッガを使ってリモートデバッグしたい。これは通常、大したことではありませんが、このシナリオではサーバーに直接アクセスできず、2 つ目のサーバーを介してのみアクセスできます。そこで、いくつかのポート (4016 を直接使用できないため 14016) をターゲット マシンのポート 4016 に転送しようとしました。

ターゲット マシンで実行されているプロセスにアタッチしようとすると、リモート デバッガーがターゲット マシンで実行されていないようだと VS から通知されます。

Wireshark を使用すると、VS が net.tcp://192.168.172.34:14016/Microsoft/VisualStudio/msvsmon の形式の URI を含むデータを TCP 経由で送信することがわかります。192.168.172.34:14016 は、ポート転送を行う中間サーバーの IP とポートです。VS はこのサーバーしか認識していないため、これは理にかなっています。

問題は、MSVSMON が少なくともポート番号またはおそらく IP をチェックし、Wireshark で見られるようにhttp://schemas.microsoft.com/ws/2006/05/framing/faults/EndpointNotFoundで応答することです。 ..

質問は次のとおりです。転送された TCP 接続を介してデバッグを可能にする方法はありますか?

4

1 に答える 1

1

これはあなたにとって遅すぎるかもしれません。しかし、それはそこにいるグーグル社員を助けるかもしれません:

これは、同様の設定で私にとってはうまくいきました。一部の機能が壊れているかどうかはわかりませんが、知らなかっただけです。ブレークポイント、シングルステップ、および変数の表示を使用できました。私には十分です。

  • リモート マシンのホスト ファイルに「127.0.0.1 remote-debug」を追加します。
  • 開発マシンのホスト ファイルに「192.168.172.34 remote-debug」を追加します。
  • "/hostname remote-debug" で msvsmon.exe を起動します。
  • デバッガーを「remote-debug:14016」に接続します

(これを基本的な考え方として、少しいじる必要があるかもしれません。「/hostname」をまったく使用しないでください。「127.0.0.1」の代わりにネットワーク IP を使用してください。)

于 2014-07-25T08:37:14.213 に答える