次の方法で共有


COM サーバーとコンテナーのデバッグ

COM アプリケーションは、プログラマの直接制御の外部で多数のタスクを実行します。 DLL 間の通信、オブジェクトの使用数、クリップボード操作は、予期しない動作が発生する可能性がある領域のほんの一部にすぎません。 これが発生した場合、最初の手順は問題の原因を追跡することです。

Visual Studio デバッガーは、コンテナーとサーバー内でのステップ実行をサポートします。 これには、リモート プロシージャ コール (RPC) 間をステップ実行する機能が含まれます。

同じソリューションでの COM サーバーとコンテナーのデバッグ

同じソリューション内の 2 つのプロジェクトを使用して、COM サーバーとコンテナーをデバッグできます。 各プロジェクトに適切なブレークポイントを設定し、デバッグします。 コンテナーがブレークポイントにヒットするサーバーへの呼び出しを行うと、コンテナーはサーバー コードが返されるまで (つまり、デバッグが完了するまで) 待機します。

COM コンテナーのデバッグは、標準プログラムのデバッグと似ています。 1 つの違いは、コールバックを生成するイベント (コンテナー アプリケーション上でのデータのドラッグなど) をデバッグする場合です。 この場合は、コールバック関数にブレークポイントを設定する必要があります。

コンテナー情報のないサーバー アプリケーションのデバッグ

コンテナー アプリケーションのデバッグ情報がない場合、または使用したくない場合は、サーバー アプリケーションのデバッグを開始する手順は 3 段階です。

  1. 通常のアプリケーションとしてサーバーのデバッグを開始します。

  2. 必要に応じてブレークポイントを設定します。

  3. コンテナー アプリケーションを起動します。

サーバーとドメイン分離 (SDI) アプリケーションのデバッグ

サーバーおよびドメイン分離 (SDI) サーバー アプリケーションをデバッグする場合は、C/C++、C#、または Visual Basic プロジェクトの [/Embedding プロパティ ページ] ダイアログ ボックスの/Automationプロパティにまたはを指定する必要があります。

これらのコマンド ライン引数を使用すると、デバッガーはコンテナーから起動されたかのようにサーバー アプリケーションを起動できます。 プログラム マネージャーまたはファイル マネージャーからコンテナーを起動すると、デバッガーで起動されたサーバーのインスタンスがコンテナーで使用されます。

[ プロジェクト プロパティ ページ] ダイアログ ボックスにアクセスするには、ソリューション エクスプローラーでプロジェクトを右クリックし、ショートカット メニューから [プロパティ] を選択します。 コマンド ライン引数プロパティを見つけるには、[構成プロパティ] カテゴリを展開し、[デバッグ] ページをクリックします。