다음을 통해 공유


IDiaSession::findLinesByAddr

지정된 주소가 포함된 지정된 컴파일의 줄을 검색합니다.

구문

HRESULT findLinesByAddr (
    DWORD                 seg,
    DWORD                 offset,
    DWORD                 length,
    IDiaEnumLineNumbers** ppResult
);

매개 변수

seg

[in] 특정 주소의 섹션 구성 요소를 지정합니다.

offset

[in] 특정 주소의 오프셋 구성 요소를 지정합니다.

length

[in] 이 쿼리로 처리할 주소 범위의 바이트 수를 지정합니다.

ppResult

[out] 지정된 주소 범위를 처리할 줄 번호의 목록을 포함하는 IDiaEnumLineNumbers 개체를 반환합니다.

Return Value

성공하면 S_OK를 반환하고, 실패하면 오류 코드를 반환합니다.

예시

이 예에서는 함수의 주소 및 길이를 사용하여 함수에 포함된 모든 줄 번호를 가져오는 함수를 보여 줍니다.

IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc,
                                          IDiaSession *pSession)
{
    IDiaEnumLineNumbers* pEnum = NULL;
    DWORD                seg;
    DWORD                offset;
    ULONGLONG            length;

    if (pFunc->get_addressSection ( &seg ) == S_OK &&
        pFunc->get_addressOffset ( &offset ) == S_OK)
    {
        pFunc->get_length ( &length );
        pSession->findLinesByAddr( seg, offset, static_cast<DWORD>( length ), &pEnum );
    }
    return(pEnum);
}

참고 항목