dotPeek 2024.2 ヘルプ

dotPeek をシンボルサーバーとして使用する

dotPeek はシンボルサーバーとして機能することができます。つまり、コンパイルされたアセンブリをデバッグするために必要な情報をデバッガーに提供できます。

Microsoft Symbol Server(英語) などの従来のシンボルサーバーとは対照的に、dotPeek はシンボルファイルを保存せず、要求されたアセンブリの PDB およびソースファイルを生成し、デバッガーに返します。

dotPeek Symbol Server を実行する

  • ツールバーのシンボルサーバーの起動 / 停止 Start/Stop Symbol Server をクリックします。

  • メインメニューのツール | シンボルサーバーの起動 / 停止を選択します。

dotPeek シンボルサーバーの最初の起動時に、シンボルファイルを生成するアセンブリを選択するように求められます。設定オプションについては、dotPeek シンボルサーバーの設定を参照してください。

dotPeek シンボルサーバーが開始されるとすぐに、対応するアイコンがステータスバーに表示されます。カーソルを合わせると、そのアドレスと現在の構成を確認できます。

dotPeek symbol server icon in the status bar

dotPeek シンボルサーバーを使用するには、デバッガー設定でそのアドレスを指定します。Microsoft Visual Studio では、構成は次のとおりです。

dotPeek シンボルサーバーを操作するために Visual Studio をセットアップする

  1. Visual Studio メニューで、ツール | オプション | デバッグ | シンボルを選択します。

  2. 新しい場所を追加をクリックして、次のアドレスを指定します: http://localhost:33417/。(ポート番号は、dotPeek オプションのシンボルサーバーページで構成できます。)

    Debugging symbols options in Visual Studio
  3. Visual Studio オプションで、デバッグ | 一般ページに移動し、マイコードだけを有効にするチェックボックスをオフにします。

dotPeek Symbol Server の構成

dotPeek シンボルサーバーを使用すると、シンボルファイルを生成する正確なアセンブリを選択できます。正しい構成では、望ましくないシステムアセンブリや興味のないアセンブリへのステップアップを防ぐことができます。

  1. メインメニューからツール | オプションを選択し、左側のシンボルサーバーを選択します。

  2. ラジオボタンを使用して、シンボルファイル(.pdb)を生成するオプションの 1 つを選択します。最初の 4 つの選択肢の意味は明らかです。最後の方法では、最も柔軟性があります。このオプションを選択した後は、デバッグに必要なアセンブリだけを選択して、アセンブリエクスプローラーで開くことができます。

  3. 必要に応じて、dotPeek シンボルサーバーに使用されるポート番号を変更することができます。

  4. OK をクリックします。

考えられる問題と解決策

dotPeek シンボルサーバーで問題が発生した場合、最初にできることは、プロジェクト /PDB 生成ステータスウィンドウ (dotPeek のメニューの Windows | プロジェクト /PDB 生成ログ ) を開くことです。

dotPeek: Project/PDB Generation Status window

ここでは、すべてのシンボルサーバータスクと、PDB を生成するおよびプロジェクトを生成するコマンドの結果を確認できます。一部の PDB がデバッガーによって dotPeek シンボルサーバーから要求されたが、生成されなかった場合、このウィンドウに対応するエントリとエラーメッセージが表示されます。

  • ほとんどの場合、ターゲットアセンブリが見つからないと問題が発生します。これを修正するには、アセンブリエクスプローラーでアセンブリを開くことができます。アセンブリの場所がわからない場合は、Visual Studio がデバッグモードのときに知ることができます - モジュールウィンドウ(デバッグ | Windows | モジュール)を開いてパス列を確認してください。

  • 64 ビット Windows で dotPeek を実行している場合は、64 ビットバージョンの dotPeek を実行していることを確認してください(インストールディレクトリ %LOCALAPPDATA%\JetBrains\Installations\dotPeek[N] には dotPeek32.exedotPeek64.exe の 2 つの実行可能ファイルがあります)。

要求されたアセンブリがプロジェクト /PDB 生成ステータスウィンドウに表示されない場合は、デバッガーが対応するシンボルファイルをすでに見つけており、dotPeek から要求していないことを意味します。シンボルファイルが正しく、ソースコードが利用できる場合は、問題はなく、dotPeek を使用せずにアセンブリをデバッグできます。そうでない場合は、次のことを試してください。

  • 問題のある PDB ファイルを削除または名前を変更します。Visual Studio がデバッグモードになっているときに、各アセンブリに対して実際の PDB ファイルの場所(存在する場合)を見つけることができます。モジュールウィンドウ(デバッグ | Windows | モジュール)を開き、シンボルファイル列を確認します。

  • PDB ファイルが別のシンボルサーバーから受信された場合は、このサーバーを無効にするか、シンボルサーバーのリスト(Visual Studio のオプションのデバッグ | シンボル | シンボルファイルの場所)で dotPeek シンボルサーバーを移動します。

最適化されたアセンブリをデバッグする場合、一部のデバッガー関数は使用できません。たとえば、シンボルファイルが正しい場合でも、ローカル変数の値は表示されません。最適化を無効にすることをお勧めします。

関連ページ:

アセンブリを開閉する

dotPeek を使用すると、.NET アセンブリを開いて、その内容を逆コンパイルして探索できます。アセンブリは逆コンパイルして C# コード、IL コードとして表示できます。また、PDB ファイルとシンボルサーバーを使用してローカルまたはリモートの場所から元のソースコードをフェッチすることもできます。詳細については、コンパイルされたコードの表示オプションを参照してください。サポートされているアセンブリファイルタイプは次のとおりです。ライブラリ (.dll)、実行可能ファイル (.exe)、Wi...

PDB ファイルを生成する

デバッガー以外の場所でシンボルファイルが必要な場合、dotPeek は、.NET アセンブリ用の(ソースファイルと共に)PDB ファイルを生成するコマンドを提供します。シンボルファイルを生成するとき、dotPeek は Visual Studio のシンボルキャッシュと同じディレクトリ構造を作成します。Visual Studio のシンボルキャッシュディレクトリを出力フォルダーとして設定すると、生成されたすべてのシンボルが自動的に Visual Studio デバッガーで使用できるようになります...

アセンブリをプロジェクトにエクスポート

アセンブリを探索する究極のステップは、アセンブリを Visual Studio プロジェクトにエクスポートして、ソースコードを参照してビルドおよびデバッグできるようにすることです。アセンブリで使用された元のプログラミング言語とは無関係に、エクスポートされたプロジェクトは C# を使用して作成されます。アセンブリを Visual Studio プロジェクトにエクスポートするアセンブリエクスプローラーウィンドウでアセンブリを選択し、ツールバーのプロジェクトにエクスポートをクリックするか、コンテキスト...