Ir para o conteúdo principal
Base de conhecimentos do Suporte

Não é possível ver o uso de um heap de enclave ao usar a ferramenta sgx_emmt no Linux*

Tipo de conteúdo: Mensagens de erro   |   ID do artigo: 000058606   |   Última revisão: 02/08/2024

Descrição

  • Depurou um aplicativo de Intel® Software Guard Extensions (Intel® SGX) com sgx-gdb e usou sgx_emmt para visualizar o uso da memória
  • O uso da pilha é exibido, mas o pico e a memória reservada comprometida não são exibidos:
    [Peak stack used]: 7 KB
    [Can't get peak heap used]: You may use version script to control symbol export. Please export 'g_peak_heap_used' in your version script.
    [Can't get peak committed reserved memory]: You may use version script to control symbol export. Please export 'g_peak_rsrv_mem_committed' in your version script.

Resolução

De acordo com a seção Enclave Memory Measurement Tool do guia de referência de Intel® Software Guard Extensions (Intel® SGX) para o desenvolvedor para Linux*, exporte os símbolos g_peak_heap_used e g_peak_rsrv_mem_committed no script da versão do enclave e vincule a imagem do enclave com o script da versão conforme descrito abaixo.

Consulte o SampleEnclave no Intel SGX SDK para reutilizar seu script de makefile e versão, SampleEnclave/Enclave/Enclave.lds.

  1. Crie um arquivo com o conteúdo do script da versão do enclave:

    enclave.so

    {

    global:

    g_global_data_sim;

    g_global_data;

    enclave_entry;

    g_peak_heap_used;

    g_peak_rsrv_mem_committed;

    local:

    *;

    };

  2. Salve o script no diretório de origem do enclave como Enclave.lds.
  3. Vincule o enclave ao script da versão e defina o símbolo __ImageBase no Makefile, da mesma forma a:

    $ ld -o enclave.so file1.o file2.o \

    -pie -eenclave_entry -nostdlib -nodefaultlibs –nostartfiles --no-undefined \

    --whole-archive –lsgx_trts --no-whole-archive \

    --start-group –lsgx_tstdc ––lsgx_tservice -lsgx_crypto -

    -end-group \

    -Bstatic -Bsymbolic --defsym=__ImageBase=0 --exportdynamic \

    --version-script=enclave.lds

Outras informações

O guia de referência Intel® Software Guard Extensions para desenvolvedores mais recente para Linux* está na seção documentação do mais recente lançamento no Intel® Software Guard Extensions SDK para Linux*.

Produtos relacionados

Este artigo aplica-se a 1 produtos.

Avisos legais

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.