スタックデコーダー
難読化されたアプリケーションのスタックトレースには、難読化された名前が表示されます。スタックデコーダーは、難読化で生成された XML マップファイルを使って、それらを元の名前に戻します。スタックトレースをデコードしたいアセンブリでは、マップファイルの生成(「Output & diagnostics」グループの GenerateMapOutFile)を有効にしておいてください。
スタックデコーダーを開く
アクティビティバーのスタックデコーダーのアイコンをクリックするか、Ctrl+Shift+D(macOS では Cmd+Shift+D)を押すか、「ツール: スタック デコーダー」を実行します。
マップファイルを追加する
「マップ ファイルを追加…」をクリックして 1 つ以上のマップファイルを選択するか、マップファイルをパネルにドラッグします。マップファイルをパスワード付きで生成した場合は、「マップ ファイルのパスワード」にそのパスワードを入力します。
トレースを貼り付ける
難読化されたスタックトレースを「難読化されたトレース」に貼り付けるか、「トレースを開く…」でファイルから読み込みます。
デコードする
「デコード」をクリックします。結果は「デコードされたトレース」に表示されます。「デコードしたトレースを保存…」で、結果をファイルに書き出せます。

マップファイルを使ったスタックトレースのデコード
「Babel が追加したフレームを非表示」は、動的プロキシが生成するブリッジフレームを取り除き、自分のコードの呼び出しチェーンだけを残します。すべてのフレームを残すには、チェックボックスをオフにします。その場合、各プロキシフレームには、それが代理しているメソッドのラベルが付きます。
- オーバーロードリネームが有効な場合、複数のメソッドが 1 つの難読化された名前を共有することがあります。その場合、デコーダーは難読化されたフレームの下に、一致する可能性のある元のメソッドをすべて一覧表示します。一意に対応付ける必要がある場合は、オーバーロードリネームを無効にしてください。
- Unicode リネームを使用すると、難読化された名前に印刷できない文字が含まれます。文字が失われないように、難読化されたトレースを UTF-8 のテキストファイルに保存し、「トレースを開く…」で読み込んでください。
- PDB ファイル名を暗号化してアプリケーションを難読化した場合、デコードされたトレースには元のソースファイル名が表示されます。PDB ファイルの使用を参照してください。
XML マップファイルからは、コードの元の名前がわかります。安全な場所に保管し、決してアプリケーションと一緒に配布しないでください。
コマンドラインや自動化されたパイプラインでデコードする方法については、スタックトレースのデコードを参照してください。Babel Licensing Service が収集した例外レポートに含まれるスタックトレースは、「レポート」ビューでデコードできます。