Compartir a través de


Método IDebugSymbols3::GetSourceEntriesByLine (dbgeng.h)

El método GetSourceEntriesByLine consulta información de símbolos y devuelve ubicaciones en la memoria del destino que corresponden a líneas de un archivo de origen.

Sintaxis

HRESULT GetSourceEntriesByLine(
  [in]                    ULONG                      Line,
  [in]                    PCSTR                      File,
  [in]                    ULONG                      Flags,
  [out, writes, optional] PDEBUG_SYMBOL_SOURCE_ENTRY Entries,
  [in]                    ULONG                      EntriesCount,
  [out, optional]         PULONG                     EntriesAvail
);

Parámetros

[in] Line

Especifica la línea del archivo de origen para la que se va a consultar. El número de la primera línea es 1.

[in] File

Especifica el archivo de origen. Los símbolos de cada módulo del destino se consultan para este archivo.

[in] Flags

Especifica marcas de bits que controlan el comportamiento de este método. Las marcas pueden ser cualquier combinación de valores de la tabla siguiente.

Valor Descripción
DEBUG_GSEL_NO_SYMBOL_LOADS El motor del depurador solo buscará el archivo entre los módulos cuyos símbolos ya se han cargado. No se cargarán los símbolos de los demás módulos.

Si no se establece esta opción, el motor del depurador cargará los símbolos de todos los módulos hasta que encuentre el archivo especificado en Archivo.

DEBUG_GSEL_ALLOW_LOWER Incluya todas las líneas en Archivo antes de Line en el resultado.
DEBUG_GSEL_ALLOW_HIGHER Incluya todas las líneas en Archivo después de Line en el resultado.
DEBUG_GSEL_NEAREST_ONLY Solo devuelve como máximo un resultado. Si se establecen DEBUG_GSEL_ALLOW_LOWER o DEBUG_GSEL_ALLOW_HIGHER, el resultado devuelto será para una línea cercana a Line , pero no puede ser Line si no hay información de símbolos para esa línea.

Para usar el conjunto predeterminado de marcas, establezca Marcas en DEBUG_GSEL_DEFAULT. Esto tiene desactivadas todas las marcas de la tabla anterior.

[out, writes, optional] Entries

Recibe las ubicaciones de la memoria del destino que corresponden a las líneas de origen para las que se consulta. Cada entrada de esta matriz es de tipo DEBUG_SYMBOL_SOURCE_ENTRY y contiene el número de línea de origen junto con una ubicación en la memoria del destino.

[in] EntriesCount

Especifica el número de entradas de la matriz Entradas .

[out, optional] EntriesAvail

Recibe el número de ubicaciones que coinciden con la consulta encontrada en la memoria del destino.

Valor devuelto

Estos métodos también pueden devolver valores de error. Consulte Valores devueltos para obtener más detalles.

Código devuelto Descripción
S_OK
Método realizado correctamente.
S_FALSE
Método realizado correctamente. Sin embargo, la matriz Detries no era lo suficientemente grande como para contener todos los resultados que coincidían con la consulta y se descartaron los resultados adicionales.
E_NOINTERFACE
La consulta no produjo ningún resultado. Esto incluye el caso en el que la información del símbolo no estaba disponible para el archivo especificado.

Comentarios

Las aplicaciones del depurador pueden usar estos métodos para capturar ubicaciones en la memoria del destino para establecer puntos de interrupción o hacer coincidir el código fuente con instrucciones desensamblar. Por ejemplo, establecer las marcas DEBUG_GSEL_ALLOW_HIGHER y DEBUG_GSEL_NEAREST_ONLY devolverá la ubicación de memoria del destino para el primer fragmento de código a partir de la línea especificada.

Para obtener más información sobre los archivos de origen, vea Uso de archivos de código fuente.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (incluir Dbgeng.h)

Consulte también

DEBUG_SYMBOL_SOURCE_ENTRY

GetSourceFileLineOffsets

IDebugSymbols3