2012-04-03 27 views
6

次のチュートリアルhttp://msdn.microsoft.com/en-us/library/ms731835%28v=vs.100%29.aspxを実行していて、プログラムは正常に動作しています。サービスとクライアントの両方が異なるソリューションになっています。 1つのビジュアルスタジオからサービスを開始し、クライアントプログラムを正常に実行できます。しかし、私はデバッグをしたい。クライアントコードからサービスコードにステップインしたい。私がそれをしようとすると、私は次のエラーを取得します。WCF初級チュートリアル - デバッグできません(ステップイン)

"自動的にサーバーに入ることができません。サーバープロセスへの接続が失敗しました。デバッガーは既に接続されています。

クライアントとサーバーの両方がコンソールアプリケーションであり、サービスはスリープ状態です。また、クライアントのapp.configファイルでdebug = trueを有効にしてみました。

おかげ

VARUN

答えて

3

いくつかの可能なオプションが何を達成しようとしているためにあります。それはだから、クライアントのデバッガは、サーバープロセスにアタッチすることはできません

  1. エラーが指定したよう既にデバッガを持っています。デバッガなしでサーバプロセスを起動してみてください。
  2. クライアントとサーバーコードを同じソリューションに置き、サーバーとクライアントプロジェクトでRMC - >デバッグ - >新しいインスタンスを開始
  3. サーバープロセスをデバッガで実行してから、[デバッグ] - > [プロセスに接続]を使用します。 (デバッガでは実行しないでください)

これらの2つを同じソリューションに入れてデバッグすることをお勧めします。単一のワークスペースで作業する方が簡単です。

+0

2番目のアプローチは機能しますが、私の目標はそれを達成することではありません。私はそれらのクライアントとサーバーを2つの異なるビジュアルスタジオに欲しい。最初のアプローチを使用すると、「サーバーに自動的に入ることができません。リモートプロシージャをデバッグできませんでした。これは、通常、サーバーでデバッグが有効になっていないことを示しています。私はどのように第3の目標を達成するか分からない。 – VVV

+0

デバッグモードでサーバープロセスを実行していますか? 3つ目は、通常の(F5)のようにビジュアルスタジオからサーバプロセスを起動し、exeファイルからクライアントプロセスを起動し、次にサーバビジュアルスタジオでDebug - > Attach to process ..をクリックし、クライアントのexeプロセスを選択します。 –

+0

申し訳ありません私はあなたが言ったことをしました。 F5を押してサービスを開始しました。クライアントプログラムを実行するよりも(Ctrl + F5)。しかし、サーバービジュアルスタジオからクライアントプロセスを接続しようとすると、無効になります。私はそれを添付することはできません。また、1秒未満で終了するため、コマンドラインからクライアントプログラムを実行しても意味がありません。サービスへの関数呼び出しは1つだけです。私はクライアントプログラムにブレークポイントを置く必要があります。 – VVV

3

サービスをクライアントに添付する必要があります。サービスが実行されているVSインスタンスでは、debug->Attach->(devenv.exe of the VS instance where the Client is running)に移動し、クライアントを起動します。

関連する問題