IDebugSymbols3::GetSourceEntriesByLine 메서드(dbgeng.h)
GetSourceEntriesByLine 메서드는 기호 정보를 쿼리하고 원본 파일의 줄에 해당하는 대상 메모리의 위치를 반환합니다.
구문
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
);
매개 변수
[in] Line
쿼리할 원본 파일의 줄을 지정합니다. 첫 번째 줄의 숫자는 1입니다.
[in] File
원본 파일을 지정합니다. 대상의 각 모듈에 대한 기호는 이 파일에 대해 쿼리됩니다.
[in] Flags
이 메서드의 동작을 제어하는 비트 플래그를 지정합니다. 플래그 는 다음 표의 값 조합일 수 있습니다.
값 | Description |
---|---|
DEBUG_GSEL_NO_SYMBOL_LOADS |
디버거 엔진은 기호가 이미 로드된 모듈 중에서만 파일을 검색합니다. 다른 모듈의 기호는 로드되지 않습니다.
이 옵션을 설정하지 않으면 디버거 엔진은 파일에 지정된 파일을 찾을 때까지 모든 모듈에 대한 기호를 로드합니다. |
DEBUG_GSEL_ALLOW_LOWER | 결과에 줄 앞에 파일 의 모든 줄을 포함합니다. |
DEBUG_GSEL_ALLOW_HIGHER | 결과에 줄 뒤의 파일에 모든 줄을 포함합니다. |
DEBUG_GSEL_NEAREST_ONLY | 최대 하나의 결과만 반환합니다. DEBUG_GSEL_ALLOW_LOWER 또는 DEBUG_GSEL_ALLOW_HIGHER 설정된 경우 반환된 결과는 선 에 가까운 줄에 대한 것이지만 해당 줄에 대한 기호 정보가 없으면 Line 이 될 수 없습니다. |
기본 플래그 집합을 사용하려면 플래그 를 DEBUG_GSEL_DEFAULT 설정합니다. 이전 테이블의 모든 플래그가 꺼져 있습니다.
[out, writes, optional] Entries
쿼리된 원본 줄에 해당하는 대상 메모리의 위치를 받습니다. 이 배열의 각 항목은 DEBUG_SYMBOL_SOURCE_ENTRY 형식이며 대상 메모리의 위치와 함께 원본 줄 번호를 포함합니다.
[in] EntriesCount
항목 배열의 항목 수를 지정 합니다 .
[out, optional] EntriesAvail
대상의 메모리에 있는 쿼리와 일치하는 위치 수를 받습니다.
반환 값
이러한 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요.
반환 코드 | Description |
---|---|
|
메서드를 성공적으로 수행했습니다. |
|
메서드를 성공적으로 수행했습니다. 그러나 Entries 배열이 쿼리와 일치하는 모든 결과를 저장할 만큼 크지 않았고 추가 결과가 삭제되었습니다. |
|
쿼리에서 결과가 생성되지 않았습니다. 여기에는 지정된 파일에 기호 정보를 사용할 수 없는 경우가 포함됩니다. |
설명
이러한 메서드는 디버거 애플리케이션에서 중단점을 설정하거나 소스 코드를 디스어셈블된 명령과 일치시키는 데 대상 메모리의 위치를 가져오는 데 사용할 수 있습니다. 예를 들어 플래그 DEBUG_GSEL_ALLOW_HIGHER 및 DEBUG_GSEL_NEAREST_ONLY 설정하면 지정된 줄에서 시작하는 코드의 첫 번째 부분에 대한 대상의 메모리 위치가 반환됩니다.
원본 파일에 대한 자세한 내용은 원본 파일 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | dbgeng.h(Dbgeng.h 포함) |