dotPeek 2019.2ヘルプ

シンボルサーバーとしてのdotPeekの使用

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

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

dotPeek Symbol Serverを実行する

dotPeekシンボルサーバーを開始/停止するには

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

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

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

dotPeekシンボルサーバーが起動すると、対応するアイコンがステータスバーに表示されます: その上にマウスポインタを置くと、そのアドレスと現在の設定を確認できます:

dotPeek symbol server icon in the status bar

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

dotPeek Symbol Serverを使用するためにVisual Studioを設定するには

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

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

    Debugging symbols options in Visual Studio

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

dotPeek Symbol Serverの構成

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

dotPeekシンボルサーバーを設定するには

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

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

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

考えられる問題と解決策

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

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

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

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

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

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

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

  • Visual Studioがデバッグモードのときにアセンブリが最適化されているかどうかを確認します。モジュールウィンドウ(デバッグ | Windows | モジュール)を開き、最適化列を確認します。

  • Visual Studioオプション(ツール | オプション | デバッグ | 一般)でモジュールのロード時にJIT最適化を抑制するチェックボックスを選択します。

  • すべてのNGEN(pre-JIT)イメージ(*.ni.dll)の使用を無効にするには、環境変数 COMPLUS_ZapDisable=1を設定できます。例と詳細については、次の記事を参照してください。

最終更新日: 2019年11月18日

関連ページ:

アセンブリの開閉

Ctrl+OdotPeekを使用すると、任意の.NETアセンブリを開いたり、逆コンパイルしたり、内容を調べたりすることができます。C#コード、ILコード、または元のソースコードをPDBファイルとシンボルサーバーを使用してローカルまたはリモートの場所からフェッチすることができるため、アセンブリをデコン...

プロジェクト/ PDB生成ステータスウィンドウ

このツールウィンドウは、シンボルファイルおよびプロジェクトの生成に関連するすべてのイベントを記録および表示します。このウィンドウの新規エントリは、次の場合に表示されます。dotPeek はシンボルサーバーとして機能します。この場合、シンボルファイルを生成するための各デバッガ要求は、新しいイベントとし...

PDBファイルを生成する

デバッガー以外の場所でシンボルファイルが必要な場合、dotPeekは、.NETアセンブリ用の(ソースファイルと共に)PDBファイルを生成するコマンドを提供します。シンボルファイルを生成するとき、dotPeekはVisual Studioのシンボルキャッシュと同じディレクトリー構造を作成します。Vis...

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

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

キャメルハンプ

キャメルハンプは、各パートが大文字で始まるCamelCase、または複合名の一部がアンダースコアで区切られた複合名の一部を識別する機能です。これらの部分の最初の文字だけを入力することができ、dotPeekは自動的に名前が一致する項目を検索します。検索コマンドのキャメルハンプ:キャメルハンプは常にすべ...