2

私のワークステーションはWindows 7 64ビットです。私は、Windows 7 64ビットVM上で動作するx86(32ビット)アプリケーションをリモートデバッグしようとしています。私はmsvsmon.exeの32ビット版と64ビット版の両方をC:¥Program Files¥Microsoft Visual Studio 9.0¥Common7¥IDE¥Remote DebuggerにインストールするVMにrdbgsetup_x64.exeをインストールしました。Win7/64上で動作する32ビットネイティブアプリケーションをVS 2008からリモートデバッグするにはどうすればいいですか?

VM上でmsvsmon.exeの64ビットバージョンを実行すると、ワークステーションから32ビットアプリケーションにアタッチできますが、シンボルはロードされず、ブレークポイントは適用されません。

VM上でmsvsmon.exeの64ビットバージョンを実行し、32ビットアプリケーションを(Debug-> Start New Instanceを介して)リモートから起動しようとすると、「プログラムを起動できません。 Visual Studioリモートデバッグモニタ(MSVSMON.EXE)の64ビットバージョンは、32ビットプロセスまたは32ビットダンプをデバッグできません。代わりに32ビットバージョンを使用してください。

しかし、VM上でmsvsmon.exeの32ビット版を実行すると、ワークステーションからVM上で実行されているプロセスに接続しようとすると、次のエラーが発生します。「プロセスにアタッチできません。問題が解決しない場合は、「コントロールパネルの[プログラムの追加と削除]」でVisual Studioのインストールを修復してください。ワークステーションから32ビットアプリケーションをリモートで起動しようとすると、同じエラーが表示されます(Debug-> Start New Instanceを使用)。

私の質問は、Win7/64上で実行されている32ビットアプリケーションを、Win7/64を実行しているワークステーションからリモートデバッグする方法です。

ありがとうございます!

+0

使用しているVMソフトウェアはどれですか? VMwareの場合は、Visual Studioアドイン(VMwareインストール時のオプション)が付属しています。これは、これをいくらか自動化します。私は「幾分」と言います。なぜなら、それはまだ仕事をするのがかなり難しいかもしれないからです。 (ファイアウォールやVMネットワーキングのようなものは途中で止まってしまい、VSリモートデバッガは機能しないときにはあまり役に立ちませんので、すべての星を完全に整列させる必要があります。 64ビットVM内の64ビットのプロセス) –

+0

なぜVMを使用していますか?EXEプロジェクトのプラットフォームターゲットをx86に設定するだけで、VMは不要です。 –

+0

@Leo:VMWare Workstation 7.1を使用しています私は、VM上で64ビットアプリケーションに接続してデバッグするのに問題はありません。問題が発生した同じVM上で32ビットアプリケーションをデバッグしようとしています。 msvsmonを使ってこの作業をしていますが、私がこれを行うと、上で引用したエラーが表示されます( "...通常は壊れたインストールを示しています...")。 –

答えて

0

32ビットmsvsmonは動作するはずです。そうでないと、開発者マシンとリモートテストマシンで同じバージョンのdllが存在しないことがあります。両方とも最新のサービスパックに更新してください。同様の問題が記載されていますhere

さらに、Visual Studioがこのシナリオをサポートしていない場合は、WinDbgを使用することができます(質問タイトルに明示的に 'with Visual Studio'と表示されます)。あらゆる種類のリモートデバッグシナリオをサポートしています。私はしばしばWinDBGで同様のシナリオをデバッグします。 WinDbgのオンラインチュートリアルはたくさんありますが、Advanced Windows Debuggingの本は確かに最高です。

+0

こんにちは、ビジュアルスタジオが32ビットマシンにインストールされているか、ホストマシンが32ビットでリモートマシンが64ビットにインストールされている以外は同じシナリオでデバッグすることは可能です –

関連する問題