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

Die Heap-Nutzung einer Enklave kann nicht sehen, wenn das sgx_emmt Tool unter Linux* verwendet wird.

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

So erstellen Sie ein Enklavenbild mit den Symbolen, mit denen sgx_emmt Speichernutzungsdaten melden können

Beschreibung
  • Debuggte eine Intel® Software Guard Extensions (Intel® SGX) Anwendung mit sgx-gdb und verwendete sgx_emmt, um die Speichernutzung zu sehen
  • Die Stack-Verwendung wird angezeigt, der Spitzen-Heap und der reservierte Speicher "engagiert" werden jedoch nicht angezeigt:
    [Verwendeter Spitzenstapel]: 7 KB
    [Peak Heap kann nicht verwendet werden]: Sie können das Versions-Skript verwenden, um den Export von Symbolen zu steuern. Bitte exportieren Sie "g_peak_heap_used" in Ihr Versions-Skript.
    [Der reservierte Hauptspeicher kann nicht erreicht werden]: Sie können das Versions-Skript verwenden, um den Export von Symbolen zu steuern. Bitte exportieren Sie "g_peak_rsrv_mem_committed" in Ihr Versions-Skript.
Lösung

Laut dem Enklaven-Speichermessungstool im Intel® Software Guard Extensions (Intel® SGX) Developer Reference Guide für Linux*exportieren Sie die Zeichen g_peak_heap_used und g_peak_rsrv_mem_committed in das Versions-Skript der Enklave und verknüpfen das Enklaven-Image mit dem Versions-Skript wie unten beschrieben.

Lesen Sie dazu SampleEnclave im Intel SGX SDK, um seine Makefile- und Versionsskripts, SampleEnclave/Enclave/Enclave.probe.

  1. Erstellen eine Datei mit dem Inhalt des Skripts für die Enklavenversion:

    enclave.so

    {

    Globalen:

    g_global_data_sim;

    g_global_data;

    enclave_entry;

    g_peak_heap_used;

    g_peak_rsrv_mem_committed;

    lokal:

    *;

    };

  2. Speichern Sie das Skript im Quellverzeichnis der Enklave als Enclave.hl.
  3. verbinden die Enklave mit dem Version-Skript und Definieren das Symbol __ImageBase im Makefile, ähnlich wie:

    $ enclave.so file1.o file2.o \

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

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

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

    -Endgruppe \

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

    --version-script=enclave.hl.

Weitere Informationen

Das neueste Intel® Software Guard Extensions Developer Reference Guide für Linux* finden Sie im Dokumentationsabschnitt der neuesten Version von 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.