「ライブラリの基礎 - C Sharp DLL」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == <br><br> == デバッグ方法 == C# DLLのデバッグ方法を、以下に記載する。<br> <br> # [ソリューションエクスプローラ]にお…」)
 
編集の要約なし
19行目: 19行目:
デバッグでブレークポイントがヒットしない場合、自身のDLL出力(初期設定では、<project>\Debugディレクトリ)が、<br>
デバッグでブレークポイントがヒットしない場合、自身のDLL出力(初期設定では、<project>\Debugディレクトリ)が、<br>
呼び出し元の実行ファイルで呼び出されている場所であることを確認する。<br>
呼び出し元の実行ファイルで呼び出されている場所であることを確認する。<br>
<br><br>
== リモートデバッグ方法 ==
別のPCに配置されているC#プロジェクトをデバッグするには、C#プロジェクトを配置したPCにリモートツールをインストールおよび実行して、<br>
Visual StudioからリモートPCに接続するようにプロジェクトを構成する。<br>
<br>
リモートデバッガは、Windows 7以降(Phoneを除く)およびWindows Server 2008 SP2以降でサポートされている。<br>
<br>
<u>※注意</u><br>
<u>プロキシ経由で接続された2台のPC間のデバッグはサポートされていない。</u><br>
<u>待機時間の長い接続や低帯域幅の接続(ダイヤルアップ等)や国をまたぐインターネット経由のデバッグは推奨されない。</u><br>
<u>これらは、障害が発生したり、過度に低速になる可能性がある。</u><br>
<br>
まず、リモートツールのダウンロードおよびインストールする。<br>
リモートPCにおいて、以下のリンクから使用しているVisual Studioのバージョン用のリモートツールを選択する。<br>
(リモートPCと同じアーキテクチャを持つリモートツールを選択すること)<br>
例えば、Windows x64を実行しているリモートPCにおいて、x86のソフトウェアをデバッグする場合、x64のリモートツールをインストールする。<br>
* Visual Studio 2019
*: [https://visualstudio.microsoft.com/downloads#remote-tools-for-visual-studio-2019 リモートツール]
*: 全てのバージョンのVisual Studio 2019と互換性がある。
*: x86、x64、ARM64に一致するバージョンをダウンロードする。
*: Windows Serverの場合、リモートツールのダウンロードについては、[https://docs.microsoft.com/ja-jp/visualstudio/debugger/remote-debugging-unblock-file-download?view=vs-2019 ファイルのダウンロードのブロック解除に関するページ]を参照すること。
*: <br>
* Visual Studio 2017
*: [https://my.visualstudio.com/Downloads?q=remote%20tools%20visual%20studio%202017 リモートツール]
*: 全てのバージョンのVisual Studio 2017と互換性がある。
*: (x86、x64、ARM64に一致するバージョンをダウンロードする。
*: Windows Serverの場合、リモートツールのダウンロードについては、[https://docs.microsoft.com/ja-jp/visualstudio/debugger/remote-debugging-unblock-file-download?view=vs-2019 ファイルのダウンロードのブロック解除に関するページ]を参照すること。
*: <br>
* Visual Studio 2015
*: [https://my.visualstudio.com/Downloads?q=remote%20tools%20visual%20studio%202015 リモートツール]
*: Visual Studio 2015のリモートツールは、My.VisualStudio.com で入手できる。
*: [https://visualstudio.microsoft.com/dev-essentials/ Visual Studio Dev Essentialsプログラム(無料)]に参加するか、または、Visual StudioサブスクリプションIDでサインインする。
*: Windows Serverの場合、リモートツールのダウンロードについては、[https://docs.microsoft.com/ja-jp/visualstudio/debugger/remote-debugging-unblock-file-download?view=vs-2019 ファイルのダウンロードのブロック解除に関するページ]を参照すること。
<br>
リモートデバッガの設定方法を、以下に記載する。<br>
<br>
# リモートPC上の[スタート]メニューから[リモートデバッガー]を起動する。
# リモートPCに対する管理アクセス許可が無い場合、リモートデバッグを行う実行ファイル等を右クリックして、[管理者として実行]を選択する。<br>それ以外の場合、通常通り開始する。<br>また、管理者として実行されているプロセスまたは別のユーザ(IIS等)で実行されているプロセスにアタッチする場合、<br>リモートデバッグする実行ファイル等を右クリックして、[管理者として実行]を選択する。<br><br>詳細については、[https://docs.microsoft.com/ja-jp/visualstudio/debugger/remote-debugging-errors-and-troubleshooting?view=vs-2019#run-the-remote-debugger-as-an-administrator Visual Studioのドキュメント]を参照すること。
# リモートデバッガを構成する前にリモートデバッガを開始すると、[リモート デバッグの構成]画面が開く。
# Windows Web Services APIがインストールされていない場合((Windows Server 2008 R2のみ)、[インストール]ボタンを押下する。
# リモートツールを使用するネットワークの種類を少なくとも1つ選択する。<br>PCがドメインを介して接続されている場合、最初の項目を選択する必要がある。<br>PCがワークグループまたはホームグループを介して接続されている場合、必要に応じて、2番目または3番目の項目を選択する。
# [リモート デバッグの構成]を選択して、ファイアウォールを構成して、リモートデバッガを起動する。
# リモートデバッガの構成が完了すると、[リモート デバッガー]画面が開く。
# リモートデバッガは接続を待機するので、表示されているサーバ名とポート番号を使用して、Visual Studioでリモート接続構成を設定する。
# リモートデバッガを停止する方法は、[ファイル] - [終了]を選択する。<br>リモートデバッガを再起動するには、[スタート]メニューまたはコマンド ラインから以下のコマンドを実行する。
#: <code><リモートデバッガのインストールディレクトリ>\msvsmon.exe</code>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:C_Sharp]]
[[カテゴリ:C_Sharp]]

2020年11月15日 (日) 00:30時点における版

概要



デバッグ方法

C# DLLのデバッグ方法を、以下に記載する。

  1. [ソリューションエクスプローラ]において、C# DLLプロジェクトを右クリックして[プロパティ]を選択する。
  2. [C# デバッグ プロパティ]画面が開くので、画面上部にある[構成]プルダウンから[デバッグ]を選択する。
  3. 画面左にある[デバッグ]を選択する。
  4. 画面右にある[開始動作]で次の手順を行う。
    • .NET Framework DLLの場合、[外部プログラムを起動する]を選択して、呼び出し元の実行ファイルのフルパスを入力する。
    • .NET Framework DLLでASP.NETの場合、[ブラウザーを開始時に使用するURL]を選択して、ローカルのASP.NETアプリのURLを入力する。
    • .NET Core DLLの場合、[デバッグプロパティ]ページが異なる。
      [起動]プルダウンから[実行可能ファイル]を選択して、[実行可能ファイル]項目に、呼び出し元の実行ファイルのフルパスを入力する。
  5. コマンドライン引数が必要な場合、[コマンドライン引数]項目または[アプリケーション引数]項目に、必要なコマンドライン引数を入力する。
  6. [ファイル] - [選択した項目を保存]ボタンを押下して、変更を保存する。(または、[Ctrl] + [S]キーを押下する)


C# DLLプロジェクトを右クリックして、[スタートアッププロジェクトに設定]を選択して、デバッグを開始する。
デバッグでブレークポイントがヒットしない場合、自身のDLL出力(初期設定では、<project>\Debugディレクトリ)が、
呼び出し元の実行ファイルで呼び出されている場所であることを確認する。


リモートデバッグ方法

別のPCに配置されているC#プロジェクトをデバッグするには、C#プロジェクトを配置したPCにリモートツールをインストールおよび実行して、
Visual StudioからリモートPCに接続するようにプロジェクトを構成する。

リモートデバッガは、Windows 7以降(Phoneを除く)およびWindows Server 2008 SP2以降でサポートされている。

※注意
プロキシ経由で接続された2台のPC間のデバッグはサポートされていない。
待機時間の長い接続や低帯域幅の接続(ダイヤルアップ等)や国をまたぐインターネット経由のデバッグは推奨されない。
これらは、障害が発生したり、過度に低速になる可能性がある。

まず、リモートツールのダウンロードおよびインストールする。
リモートPCにおいて、以下のリンクから使用しているVisual Studioのバージョン用のリモートツールを選択する。
(リモートPCと同じアーキテクチャを持つリモートツールを選択すること)
例えば、Windows x64を実行しているリモートPCにおいて、x86のソフトウェアをデバッグする場合、x64のリモートツールをインストールする。


リモートデバッガの設定方法を、以下に記載する。

  1. リモートPC上の[スタート]メニューから[リモートデバッガー]を起動する。
  2. リモートPCに対する管理アクセス許可が無い場合、リモートデバッグを行う実行ファイル等を右クリックして、[管理者として実行]を選択する。
    それ以外の場合、通常通り開始する。
    また、管理者として実行されているプロセスまたは別のユーザ(IIS等)で実行されているプロセスにアタッチする場合、
    リモートデバッグする実行ファイル等を右クリックして、[管理者として実行]を選択する。

    詳細については、Visual Studioのドキュメントを参照すること。
  3. リモートデバッガを構成する前にリモートデバッガを開始すると、[リモート デバッグの構成]画面が開く。
  4. Windows Web Services APIがインストールされていない場合((Windows Server 2008 R2のみ)、[インストール]ボタンを押下する。
  5. リモートツールを使用するネットワークの種類を少なくとも1つ選択する。
    PCがドメインを介して接続されている場合、最初の項目を選択する必要がある。
    PCがワークグループまたはホームグループを介して接続されている場合、必要に応じて、2番目または3番目の項目を選択する。
  6. [リモート デバッグの構成]を選択して、ファイアウォールを構成して、リモートデバッガを起動する。
  7. リモートデバッガの構成が完了すると、[リモート デバッガー]画面が開く。
  8. リモートデバッガは接続を待機するので、表示されているサーバ名とポート番号を使用して、Visual Studioでリモート接続構成を設定する。
  9. リモートデバッガを停止する方法は、[ファイル] - [終了]を選択する。
    リモートデバッガを再起動するには、[スタート]メニューまたはコマンド ラインから以下のコマンドを実行する。
    <リモートデバッガのインストールディレクトリ>\msvsmon.exe