dotPeek 2018.3ヘルプ

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

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

従来のシンボルサーバーとは対照的に、例えば、Microsoft Symbol Server(英語)、dotPeekはシンボルファイルを格納せず、要求されたアセンブリのPDBとソースファイルを生成し、それらをデバッガに返します。

dotPeek Symbol Serverの実行

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

  • シンボルサーバーの起動/停止をクリックThemedIcon ServerStart Screen Gray ツールバーの

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

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シンボルサーバーの設定

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

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

  1. dotPeekのメインメニューでツール | オプションを選択します。

  2. シンボルサーバーページを開きます。

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

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

考えられる問題と解決策

dotPeekシンボルサーバーで問題が発生した場合は、まずプロジェクト/ PDB生成ステータスウィンドウ(dotPeekのメニューでWindows | プロジェクト/ PDB生成ログ)を開きます。ここでは、PDBを生成するコマンドとプロジェクトを生成するコマンドの結果と同様に、すべてのシンボルサーバーのタスクを見ることができます。デバッガによってdotPeekシンボルサーバーからPDBが要求されたものの、生成されなかった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シンボルサーバーを移動します。

コンパイルされたアセンブリのデバッグに関するもう1つの問題は、最適化されたアセンブリです。最適化されたアセンブリの場合、一部のデバッガ関数は使用できません。シンボルファイルが正しい場合でも、ローカル変数の値は表示されません。Visual Studioがデバッグモードのときにアセンブリが最適化されているかどうかを確認できます。モジュールウィンドウ(デバッグ | Windows | モジュール)を開き、最適化された列を確認します。

最終更新日: 2018年12月18日

関連事項

関連ページ:

アセンブリの開閉

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

PDBファイルの生成

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

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

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

キャメルハンプ

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