Mono を使用したリモートデバッグ
Mono を使用して Mac または Linux で .NET アプリを実行すると、アプリケーションの動作に違いが見られたり、Windows マシンで同じアプリを実行したときには再現されない奇妙な例外が発生したりすることがあります。このような場合に、リモートデバッグが役立ちます。
デバッグ情報
デバッグモードでプロジェクトをビルドすると、MSBuild は基本的にコンパイルされたアセンブリのバイナリコードをソースコードにリンクするデバッグ情報を含む PDB ファイルを生成します。Mono のバージョンによって、異なる PDB が必要になります:
バージョン 5.x はポータブル PDB 形式をサポートしているため、プロジェクトがポータブル PDB でビルドされていることを確認してください。
これを行うには、プロジェクトを右クリックして Properties を選択し、開いたダイアログでビルド構成を選択して、デバッグタイプセレクターでポータブルを選択します。
以前のバージョンでは、.mdb 形式のデバッグ情報が必要です。
pdb2mdb ツール(英語)を使用して、.pdb を .mdb に変換できます。
ただし、JetBrains Rider は外部コードのデバッグを有効にするため、JetBrains Rider 設定 Ctrl+Alt+S のページで外部ソースデバッグを有効にするが選択されている場合(これはデフォルトです)、デバッグ情報がなくてもリモート Mono アプリをデバッグできます。
デバッグオプション
JetBrains Rider でアプリケーションソースコードを開き、バイナリ実行可能ファイルまたはアセンブリをリモートマシンにコピーすると、アプリケーションのデバッグを開始できます。
まず、Mono リモート型の実行 / デバッグ構成を作成します。設定オプションでは、リモートアプリケーションへの接続方法に応じて、接続のホストとポートを指定する必要があります。
リモートアプリは、デバッグエージェント(
server=yフラグ付き)を備えたサーバーとして機能します。この場合、最初にリモートマシンでアプリを起動し、次にこの実行 / デバッグ構成を起動してアプリに接続します。リモートマシンのコマンドラインパラメーターの例を次に示します。
mono --debugger-agent=address=X.X.X.X:12345,server=y,transport=dt_socket --debug MyDotNet.exe実行 / デバッグ構成のホストおよびポート値をリモートマシンのホスト / ポートとして設定する必要があります。つまり、上記のコマンドラインでリモートアプリを起動する場合は、ホストフィールドに
X.X.X.Xを指定し、ポートフィールドに1234を指定します。リモートアプリはクライアントとして機能し、JetBrains Rider は Mono デバッガーサーバーとして機能するため、最初にこの実行 / デバッグ構成を開始し、リモート Mono アプリケーションがデバッガーにアクティブに接続するのを待つことができます。
例: アプリケーションの起動をデバッグする場合は、この方法でリモート Mono アプリケーションに接続できます。リモートマシンのコマンドラインパラメーターの例を次に示します。
mono --debugger-agent=address=Y.Y.Y.Y:34567,server=n,transport=dt_socket --debug MyDotNet.exeこの場合、JetBrains Rider が実行されているマシンのホスト / ポートとしてホストとポートの値を設定する必要があります。つまり、上記のコマンドラインでリモートアプリを起動する場合は、ホストフィールドに
Y.Y.Y.Yを指定し、ポートに34567を指定します。フィールド。
デフォルトでは、この実行 / デバッグ構成は Mono デバッガークライアントを起動します。サーバーとして動作させるには、受信接続を聞くチェックボックスを選択します。
関連ページ:
外部コードをデバッグする
JetBrains Rider は、外部コードをオンザフライで逆コンパイルしてデバッガーにインジェクションする統合デコンパイラーにより、external-library コードのデバッグを簡単にします。外部コードのデバッグは、.NET フレームワークおよび .NET Core 全体でサポートされています。独自のコードと同じ一般的な手順に従って、外部ライブラリまたは .NET フレームワークをデバッグすることができます。デバッグセッションを開始するか、実行中の .NET プロセスにデバッガーをアタ...
実行 / デバッグ構成
JetBrains Rider は、実行 / デバッグ構成を使用して、コードを実行、デバッグ、デプロイ、テストします。各構成は、何を実行し、どのパラメーターと環境を使用するかを定義する、名前付きのスタートアッププロパティのセットです。実行 / デバッグ構成には 2 つのタイプがあります。一時的 — エディターから .NET 静的メソッドを実行 / デバッグするたびに作成されます。永続的 — テンプレートから明示的に作成されるか、一時的な構成を保存することによって作成されます。永続的な構成は、削除するま...
SSH 経由でリモートアプリケーションをデバッグする
このチュートリアルでは、SSH トンネルを使用して、開発マシンとリモートホストの間に安全な接続を設定し、そこで実行されている Web アプリケーションをデバッグする方法を説明します。リモートホストに SSH サーバーをセットアップする:リモートホストが実行しているオペレーティングシステムに応じて、リモートホストへの SSH アクセスを構成します。リモートデバッグ用に JetBrains SSH サーバーをインストールして構成します。リモートホストで SSH を迅速かつ安全に開始し、ホストへのア...
ブレークポイントダイアログ
ソリューションで定義されているすべてのブレークポイントは、ダイアログの左側に表示されます。これらは、タイプ(行ブレークポイント、メソッドブレークポイント、および例外ブレークポイント)ごとにグループ化されています。ダイアログの右側では、選択したブレークポイントのオプションを構成したり、選択した行ブレークポイントのコードコンテキストをプレビューしたりできます。このダイアログはモーダルではないことに注意してください。つまり、このダイアログを開いたまま IDE の他の部分を操作できます。ブレークポイント...