SymGetLineFromAddr 함수(dbghelp.h)
지정된 주소의 원본 줄을 찾습니다.
구문
BOOL IMAGEAPI SymGetLineFromAddr(
[in] HANDLE hProcess,
[in] DWORD dwAddr,
[out] PDWORD pdwDisplacement,
[out] PIMAGEHLP_LINE Line
);
매개 변수
[in] hProcess
원래 SymInitialize 함수에 전달된 프로세스에 대한 핸들입니다.
[in] dwAddr
줄을 배치해야 하는 주소입니다. 주소가 선 경계에 있을 필요는 없습니다. 줄의 시작 뒤와 줄의 끝 앞에 주소가 나타나면 줄이 발견됩니다.
[out] pdwDisplacement
줄의 시작 부분부터 바이트 단위의 변위 또는 0입니다.
[out] Line
IMAGEHLP_LINE64 구조체에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값은 TRUE입니다.
함수가 실패하면 반환 값은 FALSE입니다. 확장된 오류 정보를 검색하려면 GetLastError를 호출합니다.
설명
호출자는 SymGetLineFromAddr64를 호출하기 전에 줄 버퍼를 올바르게 할당하고 IMAGEHLP_LINE64 구조체의 필요한 멤버를 채워야 합니다.
이 함수는 다른 함수에서 다시 사용할 수 있는 버퍼에 대한 포인터를 반환합니다. 따라서 다른 버퍼에 반환된 데이터를 즉시 복사해야 합니다.
이와 같은 모든 DbgHelp 함수는 단일 스레드입니다. 따라서 둘 이상의 스레드에서 이 함수로 호출하면 예기치 않은 동작이나 메모리 손상이 발생할 수 있습니다. 이를 방지하려면 둘 이상의 스레드에서 이 함수로의 모든 동시 호출을 동기화해야 합니다.
이 함수의 유니코드 버전을 호출하려면 DBGHELP_TRANSLATE_TCHAR 정의합니다. SymGetLineFromAddrW64 는 Dbghelp.h에서 다음과 같이 정의됩니다.
BOOL
IMAGEAPI
SymGetLineFromAddrW64(
_In_ HANDLE hProcess,
_In_ DWORD64 dwAddr,
_Out_ PDWORD pdwDisplacement,
_Out_ PIMAGEHLP_LINEW64 Line
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLineFromAddr64 SymGetLineFromAddrW64
#endif
이 함수는 SymGetLineFromAddr 함수를 대체합니다. 자세한 내용은 업데이트된 플랫폼 지원을 참조하세요. SymGetLineFromAddr 는 Dbghelp.h에서 다음과 같이 정의됩니다.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetLineFromAddr SymGetLineFromAddr64
#define SymGetLineFromAddrW SymGetLineFromAddrW64
#else
BOOL
IMAGEAPI
SymGetLineFromAddr(
_In_ HANDLE hProcess,
_In_ DWORD dwAddr,
_Out_ PDWORD pdwDisplacement,
_Out_ PIMAGEHLP_LINE Line
);
BOOL
IMAGEAPI
SymGetLineFromAddrW(
_In_ HANDLE hProcess,
_In_ DWORD dwAddr,
_Out_ PDWORD pdwDisplacement,
_Out_ PIMAGEHLP_LINEW Line
);
#endif
예제
예제는 주소별 기호 정보 검색을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | dbghelp.h |
라이브러리 | Dbghelp.lib |
DLL | Dbghelp.dll |
재배포 가능 파일 | DbgHelp.dll 5.1 이상 |