PEReader.TryOpenAssociatedPortablePdb Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Abre un archivo PDB portable asociado a esta imagen de PE.
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
Parámetros
- peImagePath
- String
La ruta de acceso a la imagen de PE. La ruta de acceso se usa para buscar el archivo PDB ubicado en el directorio que contiene el archivo PE.
Si se especifica, se llama para abrir un objeto Stream para una ruta de acceso de archivo determinada. Se espera que el proveedor devuelva una instancia de Stream legible y en la que se puedan realizar búsquedas, o bien null
si el archivo de destino no existe o se debe omitir por algún motivo. El proveedor debe iniciar una excepción IOException si no puede abrir el archivo debido a un error de E/S inesperado.
- pdbReaderProvider
- MetadataReaderProvider
Si se ejecuta correctamente, se usará una nueva instancia de MetadataReaderProvider para leer la PDB portable.
- pdbPath
- String
Si es correcto y el archivo PDB se encuentra en un archivo, la ruta de acceso al archivo o null
si el archivo PDB está insertado en la imagen de PE.
Devoluciones
true
si la imagen de PE tiene un archivo PDB asociado y el archivo PDB se ha abierto correctamente; de lo contrario, false
.
Excepciones
peImagePath
o pdbFileStreamProvider
es null
.
La secuencia devuelta desde pdbFileStreamProvider
no admite operaciones de lectura y búsqueda.
No se ha encontrado ningún archivo PDB coincidente debido a un error: la imagen de PE o el archivo PDB no son válidos.
No se ha encontrado ningún archivo PDB coincidente debido a un error: se ha producido un error de E/S al leer la imagen de PE o el archivo PDB.
Comentarios
Este método implementa una búsqueda de archivos PDB simple basada en el contenido del directorio de depuración de imágenes pe. Es posible que una herramienta más sofisticada tenga que realizar un seguimiento con una búsqueda adicional en rutas de búsqueda o en un servidor de símbolos.
El método busca la PDB en el orden siguiente:
- Comprueba si hay un archivo PDB coincidente del nombre que se encuentra en la entrada CodeView del directorio que contiene el archivo PE (el directorio de
peImagePath
). - Comprueba si hay una PDB insertada en la propia imagen de PE.
Se devuelve la primera PDB que coincide con la información especificada en el directorio de depuración.