ID de l'article: 000058606 Type de contenu: Messages d'erreur Dernière révision: 02/08/2024

Impossible de voir l’utilisation du tas d’une enclave lors de l’utilisation de l’outil sgx_emmt sous Linux*

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Comment générer une image d’enclave avec les symboles qui sgx_emmt permettent de rapporter les données d’utilisation de la mémoire

Descriptif
  • Débogage d’une application de Intel® Software Guard Extensions (Intel® SGX) avec sgx-gdb et utilisé sgx_emmt pour afficher l’utilisation de la mémoire
  • L’utilisation de la pile est indiquée, mais le tas de pointe et la mémoire réservée validée ne sont pas affichés :
    [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.
Résolution

Conformément à la section Outil de mesure de la mémoire d’enclave du Guide de référence du développeur Intel® Software Guard Extensions (Intel® SGX) pour Linux*, exportez les symboles g_peak_heap_used et g_peak_rsrv_mem_committed dans le script de version de l’enclave et liez l’image d’enclave au script de version comme décrit ci-dessous.

Reportez-vous à SampleEnclave dans le Kit de développement logiciel (SDK) Intel SGX pour réutiliser son Makefile et son script de version, SampleEnclave/Enclave/Enclave.lds.

  1. Créez un fichier avec le contenu du script de version d’enclave :

    enclave.so

    {

    global:

    g_global_data_sim;

    g_global_data;

    enclave_entry;

    g_peak_heap_used;

    g_peak_rsrv_mem_committed;

    local:

    *;

    };

  2. Enregistrez le script dans le répertoire source de l’enclave sous le nom Enclave.lds.
  3. Liez l’enclave au script de version et définissez le __ImageBase de symboles dans le Makefile, de la même manière que :

    $ 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

Informations complémentaires

Le guide de référence du développeur Intel® Software Guard Extensions le plus récent pour Linux* se trouve dans la section Documentation de la dernière version de Intel® Software Guard Extensions SDK pour Linux*.

Produits associés

Cet article concerne 1 produits

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.