2009-02-27 7 views
17

pdbファイルを商用アプリケーションと一緒に再配布することは賢明ですか?pdbファイルにはどのくらいの情報が入っていますか? (C#/ .NET)

時々、スタックトレースを使用して、展開されたアプリケーションからログを記録する詳細なエラーを取得しています。それらのファイルに頼ることなくこの機能を実現できますか?

また、元のソースコードにどのくらいのヒントが含まれていますか?それを使用してアプリケーションをリバースエンジニアリングする方が簡単でしょうか?

+0

使用している環境を指定しておくと役立ちます。多くの開発ツールがPDBファイルを出力します。 –

答えて

11

それは基本的にのための情報を追加します。

  • 機能のすべての非パブリック型、インタフェース、構造体、クラス
  • ローカル変数ソースコード内の関連するコードとそれに対応する行番号の
  • ソースファイル名。

すべてが組み合わされているため、リバースエンジニアリングはネイティブコードにとって非常に簡単です。

幸いなことに、パブリック情報が/PDBSTRIPPEDのパラメータのみを含むPDBファイルの下位バージョンを作成することができます。

あなたはC#/ .NETを追加するために編集しましたので、「PDBSTRIPPED」が適用可能かどうかはわかりません。しかし、.NETアプリケーションはシンボル情報がなくてもreverse engineerには非常に簡単です。私は.NETプロジェクトでそれらを含めても構いません。

3

.PDB管理されるファイルは、次の情報が含まれています

  • すべてのローカル変数の名前
  • すべてのソースコードファイルとそれらのファイル内の行へのIL命令からのマッピングの名前。

他のすべては、すべての型、メンバー、関数の引数の名前を含め、バイナリ自体に含まれています。

出典:PDB files: what every developer must know

関連する問題