SymGetLineFromName 함수(dbghelp.h)

지정된 모듈, 파일 이름 및 줄 번호의 원본 줄을 찾습니다.

구문

BOOL IMAGEAPI SymGetLineFromName(
  [in]           HANDLE         hProcess,
  [in, optional] PCSTR          ModuleName,
  [in, optional] PCSTR          FileName,
  [in]           DWORD          dwLineNumber,
  [out]          PLONG          plDisplacement,
  [in, out]      PIMAGEHLP_LINE Line
);

매개 변수

[in] hProcess

원래 SymInitialize 함수에 전달된 프로세스에 대한 핸들입니다.

[in, optional] ModuleName

줄을 배치할 모듈의 이름입니다.

[in, optional] FileName

줄을 배치할 파일의 이름입니다. 애플리케이션에 이 이름의 소스 파일이 두 개 이상 있는 경우 전체 경로를 지정해야 합니다.

[in] dwLineNumber

배치할 줄 번호입니다.

[out] plDisplacement

줄의 시작 부분부터 바이트 단위의 변위 또는 0입니다.

[in, out] Line

IMAGEHLP_LINE64 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값은 TRUE입니다.

함수가 실패하면 반환 값은 FALSE입니다. 확장된 오류 정보를 검색하려면 GetLastError를 호출합니다.

설명

호출자는 SymGetLineFromName64를 호출하기 전에 버퍼를 올바르게 할당하고 IMAGEHLP_LINE64 구조체의 필수 멤버를 입력해야 합니다.

이 함수를 호출하기 전에 먼저 SymInitialize, SymSetOptionsSymLoadModule64를 호출하여 기호가 올바르게 초기화되었는지 확인합니다.

이 함수는 다른 함수에서 다시 사용할 수 있는 버퍼에 대한 포인터를 반환합니다. 따라서 다른 버퍼에 반환된 데이터를 즉시 복사해야 합니다.

이와 같은 모든 DbgHelp 함수는 단일 스레드입니다. 따라서 둘 이상의 스레드에서 이 함수로 호출하면 예기치 않은 동작이나 메모리 손상이 발생할 수 있습니다. 이를 방지하려면 둘 이상의 스레드에서 이 함수로의 모든 동시 호출을 동기화해야 합니다.

이 함수의 유니코드 버전을 호출하려면 DBGHELP_TRANSLATE_TCHAR 정의합니다. SymGetLineFromNameW64 는 Dbghelp.h에서 다음과 같이 정의됩니다.


BOOL
IMAGEAPI
SymGetLineFromNameW64(
    __in HANDLE hProcess,
    __in_opt PCWSTR ModuleName,
    __in_opt PCWSTR FileName,
    __in DWORD dwLineNumber,
    __out PLONG plDisplacement,
    __inout PIMAGEHLP_LINEW64 Line
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLineFromName64   SymGetLineFromNameW64
#endif

이 함수는 SymGetLineFromName 함수를 대체합니다. 자세한 내용은 업데이트된 플랫폼 지원을 참조하세요. SymGetLineFromName 은 Dbghelp.h에서 다음과 같이 정의됩니다.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetLineFromName SymGetLineFromName64
#else
BOOL
IMAGEAPI
SymGetLineFromName(
    __in HANDLE hProcess,
    __in_opt PCSTR ModuleName,
    __in_opt PCSTR FileName,
    __in DWORD dwLineNumber,
    __out PLONG plDisplacement,
    __inout PIMAGEHLP_LINE Line
    );
#endif

예제

예제는 이름별 기호 정보 검색을 참조하세요.

요구 사항

   
대상 플랫폼 Windows
헤더 dbghelp.h
라이브러리 Dbghelp.lib
DLL Dbghelp.dll
재배포 가능 파일 DbgHelp.dll 5.1 이상

추가 정보

DbgHelp 함수

IMAGEHLP_LINE64

SymGetLineFromAddr64

SymInitialize