次の方法で共有


Visual Studio の DLL プロジェクトからデバッグする (C#、C++、Visual Basic、F#)

DLL プロジェクトをデバッグする 1 つの方法は、DLL プロジェクトのプロパティで呼び出し元アプリを指定することです。 この方法では、DLL プロジェクト自体からデバッグを開始できます。 このメソッドを機能させるには、アプリは、構成した場所と同じ場所で同じ DLL を呼び出す必要があります。 アプリが別のバージョンの DLL を見つけて読み込む場合、そのバージョンにはブレークポイントが含まれません。 DLL をデバッグするその他の方法については、「 DLL プロジェクトのデバッグ」を参照してください。

マネージド アプリがネイティブ DLL を呼び出すか、ネイティブ アプリがマネージド DLL を呼び出す場合は、DLL と呼び出し元アプリの両方をデバッグできます。 詳細については、「 方法: 混合モードでデバッグする」を参照してください。

ネイティブ DLL プロジェクトとマネージド DLL プロジェクトでは、呼び出し元アプリを指定するための設定が異なります。

ネイティブ DLL プロジェクトで呼び出し元アプリを指定する

  1. ソリューション エクスプローラーで、C++ DLL プロジェクトを右クリックし、[プロパティ] (Alt+Enter) を選択します。

  2. [<Project>プロパティ ページ] ダイアログで、上部にある [構成] フィールドを [デバッグ] に設定します。

  3. [>Debugging] を選択します。

  4. デバッガーを展開 して一覧を起動 し、 ローカル Windows デバッガー または リモート Windows デバッガーを選択します。

  5. [コマンド] または [リモート コマンド] ボックスに、呼び出し元アプリの完全修飾パスとファイル名 (.exe ファイルなど) を追加します。

    コマンドの値を示す Visual Studio の [デバッグ プロパティ] ウィンドウのスクリーンショット。

  6. 必要なプログラム引数を [コマンド引数 ] ボックスに追加します。

  7. [OK] を選択.

マネージド DLL プロジェクトで呼び出し元アプリを指定する (.NET Core、.NET 5 以降)

  1. ソリューション エクスプローラーで、C# または Visual Basic DLL プロジェクトを右クリックし、プロパティ (Alt+Enter) を選択します。

  2. [デバッグ] タブで、[ デバッグ起動プロファイル UI を開く] を選択します。

  3. [ プロファイルの起動 ] ダイアログで、[ 新しいプロファイルの作成 ] アイコンを選択し、[ 実行可能ファイル] を選択します。

    Visual Studio 2022 で新しいデバッグ プロファイルを作成する UI のスクリーンショット。

  4. 新しいプロファイルの [ 実行可能ファイル] で、実行可能ファイル (.exe ファイル) の場所を参照して選択します。

  5. [ プロファイルの起動 ] ダイアログで、既定のプロファイルの名前を書き留め、プロファイルを選択して削除します。

  6. 新しいプロファイルの名前を既定のプロファイルと同じ名前に変更します。

    別の方法として、 launchSettings.json ファイルを手動で編集します。 launchSettings.json ファイルの最初のプロファイルがクラス ライブラリの名前と一致するようにし、ファイルの最初にプロファイルを一覧表示する必要があります。

マネージド DLL プロジェクトで呼び出し元アプリを指定する (.NET Framework)

  1. ソリューション エクスプローラーで、C# または Visual Basic DLL プロジェクトを右クリックし、プロパティ (Alt+Enter) を選択します。

  2. 上部にある [構成 ] フィールドを [デバッグ] に設定します。

  3. [開始アクション] で、 次の操作を行います

    • .NET Framework DLL の場合は、[ 外部プログラムの開始] を選択し、呼び出し元アプリの完全修飾パスと名前を追加します。

    • または、[ URL でブラウザーを起動] を選択し、ローカル ASP.NET アプリの URL を入力します。

    • Visual Basic の .NET Core DLL の場合、[ デバッグ プロパティ] ページは異なります。 [ 起動 ] ドロップダウンを展開し、[ 実行可能ファイル] を選択し、[ 実行可能ファイル ] フィールドに呼び出し元アプリの完全修飾パスと名前を追加します。
    • .NET Core DLL の場合、[ デバッグ プロパティ] ページは異なります。 [ 起動 ] ドロップダウンを展開し、[ 実行可能ファイル] を選択し、[ 実行可能ファイル ] フィールドに呼び出し元アプリの完全修飾パスと名前を追加します。
  4. [コマンド ライン引数] フィールドまたは [アプリケーション引数] フィールドに、必要なコマンド ライン引数を追加します。

    Visual Studio の [C# デバッグ プロパティ] ウィンドウのスクリーンショット。

  5. 変更を保存するには、[ファイル]>[選択した項目を保存](Ctrl+S) を選択します。

DLL プロジェクトからのデバッグ

  1. DLL プロジェクトにブレークポイントを設定します。

  2. DLL プロジェクトを右クリックし、[ スタートアップ プロジェクトとして設定] を選択します。

  3. 上部にある [ソリューション構成] フィールドを [デバッグ] に設定します。 F5 キーを押し、緑色の [開始] 矢印を選択するか、[デバッグ>デバッグの開始] を選択します。

ヒント

  • デバッグがブレークポイントにヒットしない場合は、DLL 出力 (既定では、<project>\Debug フォルダー) が呼び出し元アプリのターゲット呼び出し場所であることを確認します。

  • ネイティブ DLL からマネージド呼び出し元アプリのコードに分割する場合、またはその逆の場合は、 混合モードデバッグを有効にします。

  • 一部のシナリオでは、ソース コードを検索する場所をデバッガーに指示することが必要な場合があります。 詳細については、「 シンボルが読み込まれていない/ソースが読み込まれていない」ページを使用するを参照してください。