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을 throw해야 합니다.
- pdbReaderProvider
- MetadataReaderProvider
성공하면 의 새 instance 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 항목에 있는 이름의 일치하는 PDB 파일을 확인합니다
peImagePath
. - PE 이미지 자체에 포함된 PDB를 확인합니다.
디버그 디렉터리에 지정된 정보와 일치하는 첫 번째 PDB가 반환됩니다.
적용 대상
.NET