摘要
如何測量Intel® SGX飛地的測試覆蓋率。
描述
- 試圖使用 GNU Compiler Collection [GCC] --coverage 標誌編譯Intel® SGX指定地址空間,以便使用 gcov
- 收到與 libgcov.a 和其他未定義引用相關的編譯錯誤
解決方法
- 可以使用 gcov 獲取 Intel® SGX 應用程式不受信任部分的代碼覆蓋率數據。
- 無法使用 gcov 獲取Intel® SGX指定位址空間代碼的覆蓋率數據。
- 從Intel® SGX指定位址空間內調用不受信任的 gcov 庫會導致編譯錯誤。
- 對指定位址空間之外的函數的任何調用都必須包裝在 OCALL 中。
額外資訊
請參閱 Linux Intel® SGX 開發人員參考 的 受信任庫 部分,瞭解有關可以直接從指定地址空間內進行的庫調用的詳細資訊。