Artikel-ID: 000058606 Inhaltstyp: Fehlermeldungen Letzte Überprüfung: 02.08.2024

Die Heap-Nutzung einer Enklave kann bei Verwendung des sgx_emmt-Tools unter Linux nicht angezeigt werden*

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

Generieren eines Enklavenbildes mit den Symbolen, die es sgx_emmt ermöglichen, Speichernutzungsdaten zu melden

Beschreibung
  • Debuggte eine Intel® Software Guard Extensions (Intel® SGX) Anwendung mit sgx-gdb und verwendete sgx_emmt zum Anzeigen der Speicherauslastung
  • Die Stack-Nutzung wird angezeigt, aber der Spitzen-Heap und der zugesicherte reservierte Speicher werden nicht angezeigt:
    [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.
Lösung

Exportieren Sie gemäß dem Abschnitt "Enclave Memory Measurement Tool" des Intel® Software Guard Extensions (Intel® SGX) Developer Reference Guide für Linux* die Symbole g_peak_heap_used und g_peak_rsrv_mem_committed im Versionsskript der Enklave und verknüpfen Sie das Enklavenbild wie unten beschrieben mit dem Versionsskript.

Beziehen Sie sich auf die SampleEnclave im Intel SGX SDK, um das Makefile und das Versionsskript SampleEnclave/Enclave/Enclave.lds wiederzuverwenden.

  1. Erstellen Sie eine Datei mit dem Inhalt des Skripts der Enklavenversion:

    enclave.so

    {

    global:

    g_global_data_sim;

    g_global_data;

    enclave_entry;

    g_peak_heap_used;

    g_peak_rsrv_mem_committed;

    local:

    *;

    };

  2. Speichern Sie das Skript im Quellverzeichnis der Enklave als Enclave.lds.
  3. Verknüpfen Sie die Enklave mit dem Versionsskript und definieren Sie das Symbol __ImageBase im Makefile, ähnlich wie:

    $ 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

Weitere Informationen

Das neueste Intel® Software Guard Extensions Developer Reference Guide für Linux* finden Sie im Abschnitt Dokumentation der neuesten Version im Intel® Software Guard Extensions SDK für Linux*.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.