ポータブル実行可能バイナリ ファイルのインデックス付けされたソース ファイルを取得する方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3195907
インデックス付けされたソース ファイルを取得する方法について説明、PE に格納されている情報を使用してソース管理から、ポータブル実行可能 (PE) のバイナリ ファイルのバイナリ ファイルのプログラム データベース (PDB) ファイルのペアです。インデックス付けされたソース ファイルに PDB ファイルに埋め込まれている、ハッシュ値があるため、検索中にソース ファイルの完全性を確認するこれらのハッシュ値を使用できます。

<b>次の手順では、「月」は、問題の PE ファイルを表します。

ステップ 1

使用 symchk シンボル サーバーの場所からのペアリングの .pdb ファイルを割り当てる。/Osオプションを使用すると、symchk の出力メッセージですべてのシンボル パスを取得します。

たとえば、 symchk/v 月/s D:\symbol-path\dll/osのコマンドラインは、次返します。
[SYMCHK] Searching for symbols to abc.dll in path D:\symbol-path\dllDBGHELP: abc - private symbols & lines        D:\symbol-path\dll\abc.pdb[SYMCHK] SymType: SymPDB[SYMCHK] ModName: abc[SYMCHK] ImageName: abc.dll[SYMCHK] LoadedImage: abc.dll[SYMCHK] PDB: "D:\symbol-path\dll\abc.pdb"[SYMCHK] PDB7 Sig: {625880BA-C1D4-4673-BFA2-07F90AAD7EC4}[SYMCHK] Age: 1[SYMCHK] PDB Matched:  TRUESYMCHK: FAILED files = 0SYMCHK: PASSED + IGNORED files = 1
出力では、すべてのシンボル パスが D:\symbol-path\dll\abc.pdb であることを確認します。

手順 2A

問題の PE ファイルがネイティブ コードの場合を使用して、 cvdump に対して-sfオプションを個別のソース ファイルとそのハッシュ値を表示すると、割り当てられた .pdb ファイル。MD5 または SHA256 ハッシュ値があります。

手順 2B

問題の PE ファイルが管理されている場合を使用して、コードは、 pdb2xml に対して個別のソース ファイルとそのハッシュ値を表示するのには割り当てられた .pdb ファイル。か、SHA1、SHA256 ハッシュ値があります。

手順 3

使用 srctool 個々 のソース コントロールのバージョン情報を表示するのには-nオプションと一緒に割り当てられた .pdb ファイルをソース ファイルのインデックス。

たとえば、 n srctool D:\symbol-path\dll\abc.pdbコマンド ・ ライン次を返します。

d:\publicint\sdk\inc\api_x.h <source control server URL> d:\publicint\sdk\inc\api_x.h#34d:\abc_dll\abc.c <source control server URL> d:\abc_dll\abc.c#1

手順 4

個々 のインデックス付けされたソース ファイルを取得するのにには、手順 3 からのソース管理のバージョン情報を使用します。ローカル ファイル システム ディレクトリを取得したソース ファイルを保存できます。

手順 5

手順 4 で取得した個々 のインデックス付けされたソース ファイルの各ローカル コピーでは、次のように使用します。 certutil 生成し、暗号化ハッシュをコピーの上に表示する- hashfileの動詞です。ハッシュ値は、手順 2 a のソース ファイルに関連付けられている、または 2 b は、MD5、SHA1、SHA256、 certutil hashfile<file_name>の MD5</file_name> <file_name>SHA1</file_name>の certutil - hashfile、またはcertutil hashfile<file_name>の SHA256</file_name>をそれに応じて使用します。

手順 6

手順 4 で取得した個々 のインデックス付けされたソース ファイルのローカル コピーごとに、手順 5 で certutil によって生成されたハッシュ値が対応する手順 2A あるいは 2B で取得したハッシュ値と一致しているを確認します。ハッシュ値が一致しない場合、何かが消えたことを不適切な PE と pdb ファイルのペアのまたはソース管理システムの生成中に。これは、可能性があります、さらに調査します。ハッシュ値が一致した場合は、PE と pdb ファイルのペアをコンパイルするのには取得した個々 のインデックス付けされたソース ファイルが使用されたことを強くこの示します。

警告: この記事は自動翻訳されています

プロパティ

文書番号:3195907 - 最終更新日: 10/05/2016 23:34:00 - リビジョン: 1.0

  • kbmt KB3195907 KbMtja
フィードバック