Compartilhar via


Método ICorProfilerInfo::GetILToNativeMapping

Obtém um MAP de Microsoft intermediate linguagem (MSIL) desloca para deslocamentos nativo para o código contido na função especificada.

HRESULT GetILToNativeMapping(
    [in] FunctionID functionId,
    [in] ULONG32 cMap,
    [out] ULONG32 *pcMap,
    [out, size_is(cMap), length_is(*pcMap)]
        COR_DEBUG_IL_TO_NATIVE_MAP map[]);

Parâmetros

  • functionId
    [in] A ID da função que contém o código.

  • cMap
    [in] O dimensionar máximo do map matriz.

  • pcMap
    [out] O número total de de disponívelCOR_DEBUG_IL_TO_NATIVE_MAP estruturas.

  • map
    [out] Uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas, cada uma das quais Especifica os deslocamentos. Após o GetILToNativeMapping método retorna, map conterá alguns ou todos os COR_DEBUG_IL_TO_NATIVE_MAP estruturas.

Comentários

The GetILToNativeMapping método retorna uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas. Para transmitir que determinadas faixas de instruções nativas correspondem às regiões especiais de código (por exemplo, o prólogo), uma entrada na matriz pode ter sua ilOffset campo conjunto para um valor da CorDebugIlToNativeMappingTypes enumeração.

Depois de GetILToNativeMapping Retorna, você deve verificar que o map buffer era grande o suficiente para conter todos os COR_DEBUG_IL_TO_NATIVE_MAP estruturas. Para fazer isso, comparar o valor de cMap com o valor das pcMap parâmetro. Se o pcMap valor, quando é multiplicado pelo dimensionar de um COR_DEBUG_IL_TO_NATIVE_MAP estrutura, é maior que cMap, alocar uma maior map buffer, atualização cMap com a novo e maior dimensionar e telefonar GetILToNativeMapping novamente.

Como alternativa, você pode primeiro telefonar GetILToNativeMapping com um comprimento zero map buffer para obter o dimensionar do buffer correto. Você pode então conjunto o dimensionar do buffer para o valor retornado em pcMap e chame GetILToNativeMapping novamente.

Para obter mais informações sobre essas duas abordagens, consulte Buffers alocados chamador.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICorProfilerInfo

Outros recursos

Interfaces de criação de perfil

Criação de perfil (referência de API não gerenciada)