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
成功した場合は、 の MetadataReaderProvider 新しいインスタンスを使用してポータブル PDB を読み取る。
- pdbPath
- String
正常に終了し、PDB がファイル内で見つかった場合は、ファイルへのパス、または PDB が PE イメージ自体に埋め込まれている場合は null
が使用されます。
戻り値
PE イメージに PDB が関連付けられていて、PDB が正常に開かれている場合は true
、それ以外の場合は false
。
例外
peImagePath
または pdbFileStreamProvider
が null
です。
pdbFileStreamProvider
から返されたストリームでは、読み取りとシークの操作がサポートされません。
次のエラーにより、一致する PDB ファイルが見つかりませんでした。PE イメージまたは PDB が無効です。
次のエラーにより、一致する PDB ファイルが見つかりませんでした。PE イメージまたは PDB の読み取り中に IO エラーが発生しました。
注釈
このメソッドは、PE イメージのデバッグ ディレクトリの内容に基づいて単純な PDB ファイル参照を実装します。 より高度なツールでは、検索パスまたはシンボル サーバーに対する追加の検索をフォローアップする必要がある場合があります。
メソッドは、次の順序で PDB を検索します。
- PE ファイル (のディレクトリ) を含むディレクトリの CodeView エントリで見つかった名前の
peImagePath
一致する PDB ファイルを確認します。 - PE イメージ自体に埋め込まれた PDB を確認します。
デバッグ ディレクトリで指定された情報と一致する最初の PDB が返されます。
適用対象
.NET