วิธีการสร้างภาพขอบเขตด้วยสัญลักษณ์ที่อนุญาตให้ sgx_emmt รายงานข้อมูลการใช้หน่วยความจํา
- การดีบักแอปพลิเคชัน Intel® Software Guard Extensions (Intel® SGX) ที่มี sgx-gdb และใช้ sgx_emmt เพื่อดูการใช้หน่วยความจํา
- มีการแสดงการใช้งานสแต็ก แต่จะไม่แสดงฮีปสูงสุดและหน่วยความจําที่สงวนไว้เพื่อไว้:
[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.
ตามส่วน Enclave Memory Measurement Tool ของ Intel® Software Guard Extensions (Intel® SGX) คู่มืออ้างอิงนักพัฒนาสําหรับ Linux* ส่งออกสัญลักษณ์g_peak_heap_used และg_peak_rsrv_mem_committedในสคริปต์เวอร์ชันของ Enclave และเชื่อมโยงภาพ Enclave กับสคริปต์เวอร์ชันตามที่อธิบายไว้ด้านล่าง
โปรดดู SampleEnclave ใน Intel SGX SDK เพื่อนํา Makefile และสคริปต์เวอร์ชันกลับมาใช้ใหม่ SampleEnclave/Enclave/Enclave.lds
- สร้าง ไฟล์ด้วยเนื้อหาของสคริปต์เวอร์ชัน Enclave:
enclave.so
{
global:
g_global_data_sim;
g_global_data;
enclave_entry;
g_peak_heap_used;
g_peak_rsrv_mem_committed;
local:
*;
};
- บันทึกสคริปต์ในไดเรกทอรีต้นทางของ Enclave เป็น Enclave.lds
- เชื่อมโยง Enclave กับสคริปต์เวอร์ชันและ กําหนด สัญลักษณ์ __ImageBase ใน Makefile คล้ายกับ:
$ 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
คู่มืออ้างอิงนักพัฒนา Intel® Software Guard Extensions ล่าสุดสําหรับ Linux* อยู่ในส่วน เอกสาร ของ Intel® Software Guard Extensions SDK สําหรับ Linux* เวอร์ชันล่าสุด