PEReader.TryOpenAssociatedPortablePdb メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この PE イメージに関連付けられているポータブル PDB を開きます。
public:
bool TryOpenAssociatedPortablePdb(System::String ^ peImagePath, Func<System::String ^, System::IO::Stream ^> ^ pdbFileStreamProvider, [Runtime::InteropServices::Out] System::Reflection::Metadata::MetadataReaderProvider ^ % pdbReaderProvider, [Runtime::InteropServices::Out] System::String ^ % pdbPath);
public bool TryOpenAssociatedPortablePdb(string peImagePath, Func<string,System.IO.Stream?> pdbFileStreamProvider, out System.Reflection.Metadata.MetadataReaderProvider? pdbReaderProvider, out string? pdbPath);
public bool TryOpenAssociatedPortablePdb(string peImagePath, Func<string,System.IO.Stream> pdbFileStreamProvider, out System.Reflection.Metadata.MetadataReaderProvider pdbReaderProvider, out string pdbPath);
member this.TryOpenAssociatedPortablePdb : string * Func<string, System.IO.Stream> * MetadataReaderProvider * string -> bool
Public Function TryOpenAssociatedPortablePdb (peImagePath As String, pdbFileStreamProvider As Func(Of String, Stream), ByRef pdbReaderProvider As MetadataReaderProvider, ByRef pdbPath As String) As Boolean
パラメーター
- peImagePath
- String
PE イメージへのパス。 パスは、PE ファイルを含むディレクトリにある PDB ファイルを見つけるために使用されます。
指定した場合は、特定のファイル パスの Stream を開くために呼び出されます。 プロバイダーは、読み取り可能でシーク可能な Streamを返すか、ターゲット ファイルが存在しないか、何らかの理由で無視する必要がある場合に null する必要があります。 予期しない IO エラーが原因でファイルを開けない場合、プロバイダーは IOException をスローする必要があります。
- pdbReaderProvider
- MetadataReaderProvider
成功した場合は、ポータブル PDB の読み取りに使用する MetadataReaderProvider の新しいインスタンス。
- pdbPath
- String
成功し、PDB がファイル内に見つかった場合、ファイルへのパス、または PDB が PE イメージ自体に埋め込まれている場合に null 。
返品
true PE イメージに関連付けられた PDB があり、PDB が正常に開かれている場合。それ以外の場合は false。
例外
peImagePath または pdbFileStreamProvider が null。
pdbFileStreamProviderから返されるストリームは、読み取りとシークの操作をサポートしていません。
エラーが原因で一致する PDB ファイルが見つかりませんでした:PE イメージまたは PDB が無効です。
エラーが原因で一致する PDB ファイルが見つかりませんでした。PE イメージまたは PDB の読み取り中に IO エラーが発生しました。
注釈
このメソッドは、PE イメージ デバッグ ディレクトリの内容に基づいて単純な PDB ファイル参照を実装します。 より高度なツールでは、検索パスまたはシンボル サーバーに対する追加の検索のフォローアップが必要になる場合があります。
このメソッドは、次の順序で PDB を検索します。
- PE ファイル (
peImagePathのディレクトリ) を含むディレクトリの CodeView エントリで見つかった名前の一致する PDB ファイルを確認します。 - PE イメージ自体に埋め込まれている PDB を確認します。
デバッグ ディレクトリで指定された情報と一致する最初の PDB が返されます。