INTSourceChangelist:2711040 Availability:Public Title:シンボルデバッガ Crumbs: %ROOT%, Engine, Programming, Programming/Development/Tools Description:エンジン クラッシュから生成されるミニダンプ ファイルのデバッグに使用するツール Version:4.9 **SymbolDebugger** プログラムは、アーティストやレベル デザイナのマシーンでクラッシュしたアプリケーションをリモートからデバッグする際に必要なファイルの同期や、ビルド マシーンの生成ビルドのクラッシュによって生成されたミニダンプ ファイルの同期に役立ちます。 ![Symbol Debugger](symbol_debugger.png) シンボル デバッガでは、ビルド システムで生成されるビルドのソース インデックスとローカルのシンボル ストアを使用して、ソースファイルをビルドが作られた時に同期させる必要なくデバッグが可能となります。 クラッシュ レポートからのミニダンプファイルのデバッグは、ダンプファイルをドラッグしてシンボル デバッガ アプリにドロップするだけの簡単な作業になりました(シンボルデバッガを適切に活用するためにはいくつかの設定が必要です。後にこのドキュメントで説明します)。 ## UI の説明 ![Symbol Debugger UI](symbol_debugger_ui.png) 1. [メソッドの選択](#メソッドの選択) 1. [メソッドの入力](#メソッドの入力) 1. [シンボル ストア](#SymbolStoreセクション) 1. [プラットフォーム](#Platformセクション) 1. [エンジン バージョン](#EngineVersionセクション) 1. [チェンジリスト番号](#ChangelistNumberセクション) 1. [ソース コントロールのラベル](#SourceControlLabelセクション) 1. [アクション ボタン](#ActionButtonsセクション) ###メソッドの選択 シンボル デバッガの実行時は 4 つのメソッドが許可されています。現在のメソッドは、**Method Selection** セクションのラジオボタンで選択されています。選択されたメソッドによって、さまざまな制御が有効または無効となり、ユーザーはより多くの情報を入力できます。以下のメソッドがサポートされています。 | メソッド | 説明 | | ------ | ----------- | | **CrashDump** | ミニダンプ ファイルを処理して、デバッグに必要なファイルを判断し、Perforce からこれらのファイルを同期し、デバッガを起動します。 | | **EngineVersion **| ソース コントロールの適切なビルドラベルを確定するために使うクラッシュしたアプリケーションのエンジンバージョンを指定します。その後必要なファイルが同期されて、クラッシュしたアプリケーションのリモートデバッグが開始します。 | | **Changelist** | クラッシュしたアプリケーションがビルドされたチェンジリストの指定、必要なファイルの同期、そしてアプリケーションのリモート デバッグを行います。 | | **SourceLabel** | ビルド ラベルの指定、必要ファイルの同期、そしてクラッシュ アプリケーションのリモートデバッグを行います。 | ###メソッドの入力 **[Method Input]** セクションには、現在のメソッドに必要な情報を入力するテキスト ボックスがあります。 **EngineVersion**、 **Changelist**、または **SourceLabel** が選択された場合、その値をテキスト ボックスに入力します。 **CrashDump** がメソッドとして選択された場合、ミニダンプファイルへのフルパスがテキスト ボックスに入ります。このメソッドがアクティブな時は **[File Open]** ボタンも表示され、通常のファイルの選択ダイアログからクラッシュダンプを選択することができます。 ### Symbol Storeセクション **「User Symbol Store」** セクションには、デバッグ作業に必要なファイルの同期に利用するローカルのシンボル ストア位置を入力するテキスト ボックスがあります。この値は、以下のセクションの「Engine.ini」ファイルから読み出されます: [Engine.CrashDebugHelper] LocalSymbolStore=d:/Symbols/UE4 [REGION:note] 現時点では、アプリケーションでこのエントリを変更しても初期設定は更新されません。 [/REGION] この値は [VisualStudioの設定](#VisualStudioの設定) でも利用する必要があります。 ### Platformセクション **[Platform]** セクションにはビルドに対応するプラットフォームが入っています。CrashDump 以外のメソッドに設定した場合、この値を適切なプラットフォーム文字列へ設定しなくてはいけません (例えば、**Win32** や **Win64**)。 ### Engine Versionセクション **[Engine Version]** セクションには対象ビルドのエンジン バージョンがあります。CrashDump、Changelist または SourceLabel がメソッドの場合、この欄の編集はできませんが、選択したメソッドの調査によって判断された結果が含まれます。EngineVersion がメソッドの場合、この欄はコミットすると 'Method Input' テキストボックスにある内容が入ります。 ### Changelist Numberセクション **[Changelist Number]** セクションには対象ビルドのチェンジリスト番号が入ります。CrashDump、EngineVersion または SourceLabel がメソッドの場合、この欄は編集できませんが、選択したメソッドの調査によって決まる結果が入ります。Changelist がメソッドの場合、この欄はコミットすると 'Method Input' テキストボックスにあるコンテンツで埋められます。 ### Source Control Labelセクション **[Source Control Label]** セクションには対象ビルドのエンジンバージョンが入ります。CrashDump、EngineVersion または Changelist がメソッドの場合、この欄は編集できませんが、選択メソッドの調査によって決まる結果が入ります。SourceLabel がメソッドの場合、コミットするとこの欄は 'Method Input' テキストボックスにあるコンテンツで埋められます。 ### Action Buttonsセクション **[Action Buttons]** セクションにはさまざまなアクションをトリガーするボタンがあります。選択されたメソッドの現在の状態によって有効にされます。以下のボタンを利用できます。 | ボタン | 説明 | | ------ | ----------- | | **Inspect** | [Inspect] ボタンは、与えられた情報の評価とビルドのソースコントロール ラベルの決定に使用します。入力された情報が現在のメソッドの評価に十分な場合有効になります。例えば、CrashDump が選択されたメソッドの場合、クラッシュダンプ ファイル名とローカルの Symbol Store の設定のみが必要となります。ただし、その他のメソッドがアクティブな場合は、プラットフォーム欄も入力しなくてはいけません。| | **Sync** | 有効なビルドラベルが見つかると、 [Sync] ボタンが有効になります。クリックすると、デバッグ作業に必要な全てのファイルが、ソースコントロールからローカルの Symbol Store 位置へ同期されます。 | | **Debug** | 現在は CrashDump 評価のみに対して有効です。クリックすると、[Debug] ボタンが付属のミニダンプファイルと一緒にデバッガを起動します。 | ## Visual Studioの設定 ### ローカルの Symbol Store 使用するローカルの Symbol Store も Visual Studio で設定しなくてはいけません。[Debugging] 設定で **[Symbol file locations]** にパス(対象のプラットフォームを含む)を追加する必要があります。 以下は [SymbolStore](#SymbolStoreセクション) の `.ini` の例の Symbol Store の設定例です。 ![Set Symbol Store](vs_symbol_store.png) デバッガがデバッグ中の「pdb」ファイルに対する正しいソースファイルをフェッチするためには、ソースサーバーを有効にする必要があります。この設定は [General] の [Debugging] 設定から行います。 ![Enable Source Server](vs_source_server.png) Visual Studioの準備に必要な最後の作業として、「P4.exe」ファイルは信頼できるコマンドであることを Visual Studio に知らせます。(この作業をしないと、P4 にソースファイルをフェッチさせるためのダイアログが継続的に表示されます。)以下のフォルダに `srcsrv.ini` というファイル名を追加して行います。 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE (for Visual Studio 2013) C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE (for Visual Studio 2012) C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE (for Visual Studio 2010) このファイルの内容は以下のようになります。 [trusted commands] p4.exe=c:\Program Files\Perforce\p4.EXE