Language:
Page Info
Engine Version:
The translation of this page is out of date. Please see the English version for the latest version of the page.

シンボルデバッガ

SymbolDebugger プログラムは、アーティストやレベル デザイナのマシーンでクラッシュしたアプリケーションをリモートからデバッグする際に必要なファイルの同期や、ビルド マシーンの生成ビルドのクラッシュによって生成されたミニダンプ ファイルの同期に役立ちます。

Symbol Debugger

シンボル デバッガでは、ビルド システムで生成されるビルドのソース インデックスとローカルのシンボル ストアを使用して、ソースファイルをビルドが作られた時に同期させる必要なくデバッグが可能となります。

クラッシュ レポートからのミニダンプファイルのデバッグは、ダンプファイルをドラッグしてシンボル デバッガ アプリにドロップするだけの簡単な作業になりました(シンボルデバッガを適切に活用するためにはいくつかの設定が必要です。後にこのドキュメントで説明します)。

UI の説明

Symbol Debugger UI

  1. メソッドの選択

  2. メソッドの入力

  3. シンボル ストア

  4. プラットフォーム

  5. エンジン バージョン

  6. チェンジリスト番号

  7. ソース コントロールのラベル

  8. アクション ボタン

メソッドの選択

シンボル デバッガの実行時は 4 つのメソッドが許可されています。現在のメソッドは、Method Selection セクションのラジオボタンで選択されています。選択されたメソッドによって、さまざまな制御が有効または無効となり、ユーザーはより多くの情報を入力できます。以下のメソッドがサポートされています。

メソッド

説明

CrashDump

ミニダンプ ファイルを処理して、デバッグに必要なファイルを判断し、Perforce からこれらのファイルを同期し、デバッガを起動します。

EngineVersion

ソース コントロールの適切なビルドラベルを確定するために使うクラッシュしたアプリケーションのエンジンバージョンを指定します。その後必要なファイルが同期されて、クラッシュしたアプリケーションのリモートデバッグが開始します。

Changelist

クラッシュしたアプリケーションがビルドされたチェンジリストの指定、必要なファイルの同期、そしてアプリケーションのリモート デバッグを行います。

SourceLabel

ビルド ラベルの指定、必要ファイルの同期、そしてクラッシュ アプリケーションのリモートデバッグを行います。

メソッドの入力

[Method Input] セクションには、現在のメソッドに必要な情報を入力するテキスト ボックスがあります。

EngineVersionChangelist、または SourceLabel が選択された場合、その値をテキスト ボックスに入力します。

CrashDump がメソッドとして選択された場合、ミニダンプファイルへのフルパスがテキスト ボックスに入ります。このメソッドがアクティブな時は [File Open] ボタンも表示され、通常のファイルの選択ダイアログからクラッシュダンプを選択することができます。

Symbol Storeセクション

「User Symbol Store」 セクションには、デバッグ作業に必要なファイルの同期に利用するローカルのシンボル ストア位置を入力するテキスト ボックスがあります。この値は、以下のセクションの「Engine.ini」ファイルから読み出されます:

[Engine.CrashDebugHelper]
LocalSymbolStore=d:/Symbols/UE4

現時点では、アプリケーションでこのエントリを変更しても初期設定は更新されません。

この値は VisualStudioの設定 でも利用する必要があります。

Platformセクション

[Platform] セクションにはビルドに対応するプラットフォームが入っています。CrashDump 以外のメソッドに設定した場合、この値を適切なプラットフォーム文字列へ設定しなくてはいけません (例えば、Win32Win64)。

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.ini の例の Symbol Store の設定例です。

Set Symbol Store

デバッガがデバッグ中の「pdb」ファイルに対する正しいソースファイルをフェッチするためには、ソースサーバーを有効にする必要があります。この設定は [General] の [Debugging] 設定から行います。

Enable Source Server

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