メインコンテンツまでスキップ

PDB ファイルを管理する

Last updated on October 23, 2024

手順

デバッグシンボル (PDB) ファイルをアップロード

クラッシュダンプからコールスタックを取得するには、ADT バックエンドにゲームまたはアプリケーションのデバッグシンボル情報が必要です。

この情報を取得するには、ADT バックエンドにデバッグシンボル (Windows では .PDB) と実行ファイル (Windows では .exe) をアップロードします。

ファイルをアップロードするには、次のタスクを順に実行します。

  1. CrashReportClient.pak を一時フォルダに展開します。
  2. 一時フォルダで CrashReportClient.ini ファイルを変更します。
  3. CrashReportClient.pak をリパックします。
  4. .PDB を解析してシンボルを探し、zip 圧縮します。
  5. .exe ファイルと .PDB ファイルを 1 つの zip ファイルにして出荷フォルダにアーカイブします。
  6. 下記のように、.exe と .PDB の zip ファイルを ADT バックエンドにアップロードします。

インライン設定なし

BlackBoxCLI.exe upload

インライン設定あり

BlackBoxCLI.exe upload --apikey asdf1234 --namespace myawesomegame --game-project D:\path\to\myawesomegame --game-engine D:\UnrealEngine\UE4.25 --game-archive D:\path\to\packaged\awesomegame --platform-name windows --platform-arch x64

ADT CLI を使用してビルドのデバッグシンボルをアップロード

ADT CLI を使用して、エディタとパッケージ化されたビルドのデバッグシンボルをアップロードできます。 どちらもアップロード方法は同じですが、エディタの場合は --editor-build 引数を追加します。

インライン設定なし

BlackBoxCLI.exe upload --editor-build

.PDB ファイルと .exe ファイルを圧縮して ADT のバックエンドにアップロードするまでに数分かかります。 アップロードが完了すると、結果は次のようになります。

BlackBoxCLI.exe upload
Build ID: af59abac-f560-47b5-bf47-416128d8e282
Try to open Game Config File DefaultEngine.ini ("D:\\blackbox-sdk\\SampleGame\\Config\\DefaultEngine.ini")
Registering build...OK
Zipping executable and pdb...
Compressing: AccelMania-Win64-DebugGame.exe [113965/113965] kB
Compressing: AccelMania-Win64-DebugGame.pdb [145764/145764] kB
Dump Symbol...
Compressing: AccelMania-Win64-DebugGame.sym [73980/73980] kB
Upload executable and pdb...
Preparing to upload PDB files...
Uploading...
Sent: 71525/71525 KB
Upload Successful...
Preparing to upload Breakpad symbol...
Uploading...
Sent: 7307/7307 KB
Upload Successful...
Updating Crash Reporter Client...OK
Success!

これらのオプションを使用して、ゲームの実行ファイルを解析し、フィルタリングされた .PDB コンテンツを ADT バックエンドにアップロードすることもできます。

オプション包含除外説明
-h,--help--ヘルプメッセージを表示して終了する
-d,--dump-path--出力 JSON ファイルをダンプする場所を指定する。パスを指定しないと、システムはダンプファイルを作成しない
-I,--game-build-stamp---upload-onlyゲームビルドのスタンプを指定する
-u,--upload-only--dump-path--game-build-stampJSON が既にあると仮定し、PDB 解析フェーズを飛ばして直接アップロードする
-Z,--zip-file-location--アップロードする zip ファイルへのパス。このオプションでは、準備済みの zip ファイルが必要
-E, --editor-buildエディタビルド用に PDB をアップロードする。このオプションは Unreal Editor のすべての PDB ファイルを収集し、情報を ADT バックエンドにアップロードする
--platform-archアップロードするゲームデバッグシンボルのプラットフォームアーキテクチャ (例:x64)
--platform-nameアップロードするゲームデバッグシンボルのプラットフォーム名 (例:windows、xsx、xboxonegdk、PS5)

Unreal 5 用 Linux デバッグシンボルをアップロード

Unreal 5 用 Linux デバッグシンボルをアップロードするには、ゲームで追加設定が必要です。次の設定フィールドとセクションを、ゲームの DefaultEngine.ini ファイルに追加します。

[/Script/LinuxPlatform.LinuxTargetSettings]
bPreservePSYM=True
注意

この設定を追加した後は、すべてのビルドアーティファクト (通常は intermediate ディレクトリ内) をクリーンアップしてから Linux のゲームをビルドするようにしてください。そうしなければエラーが発生します。

すべてが設定され、Linux ゲームをビルドする準備ができたら、Unreal 5 のアップロードコマンドを直接呼び出して Linux デバッグシンボルをアップロードします。

インライン設定あり

BlackBoxCLI.exe upload --apikey asdf1234 --namespace myawesomegame --game-project D:\path\to\myawesomegame --game-engine D:\UnrealEngine\UE4.25 --game-archive D:\path\to\packaged\awesomegame --platform-name linux-server --platform-arch x64

PDB シンボルをフィルタリング [非推奨]

注意

このコマンドは非推奨になりました。

PDB シンボルのフィルタリングは、プロジェクトで特定のキーワードを検索する場合に便利です。次の手順に従って PDB シンボルをフィルタリングします。

BlackBoxCLI.exe filter add compiland include keyword1 keyword2 keyword3
  1. キーワードをスペースで区切り、次のように、有効なコマンドチェーンを作成します。
BlackBoxCLI.exe filter add compiland include FAvengersSDK
  1. 次のコマンドを使用して、現在のフィルターが有効かどうかを確認します。
BlackBoxCLI.exe filter list
  1. 出力は次のとおりです。
compiland:
include:
[Aa]vengers
[Aa]ccel[Mm]ania
function:
include:
[Tt]ick
public:
exclude:
public:
static
struct
const
[Cc]lass
enum
void
vftable
include:
AccelMania
Avengers
注意

このコマンドは非推奨になりました。

PDB シンボルをフィルタリングしたら、ローカルマシンにダンプして、JSON ファイルに変換します。 ゲームの実行ファイルを解析し、下記のように、ダンプコマンドを使用します。

PDB シンボルを JSON ファイルにダンプするには、次のコマンドを実行します。

BlackBoxCLI.exe dump -d <file output>

この例では、PDB シンボルを mydumpedinfo.json という JSON ファイルにダンプします。

BlackBoxCLI.exe dump -d .\mydumpedinfo.json
オプション説明
-h,--helpヘルプメッセージを表示して終了する
-f,--pdb-file-nameアップロードする PDB ファイルを指定する
-d,--dump-path出力 JSON ファイルをダンプする場所を指定する
-I,--game-build-stampゲームビルドスタンプを指定する
-p,--print解析結果をコンソール画面に表示する