Tracciamento delle chiamate di sistema

Questa pagina descrive l'utilizzo del tracciamento delle chiamate di sistema per diagnosticare le limitazioni della sandbox del container e presuppone che tu abbia una certa familiarità con il tracciamento delle chiamate di sistema, utilizzando strumenti come strace o dtruss. Se non hai familiarità con il tracciamento delle chiamate di sistema, devi procedere solo dopo aver contattato l'assistenza Google Cloud specificando i dettagli del problema e aver ricevuto l'invito a tracciare le chiamate di sistema dal team di assistenza Google Cloud.

La sandbox del container non supporta tutte le chiamate di sistema supportate in Linux. Puoi utilizzare strumenti di tracciamento delle chiamate di sistema come strace (Linux) o dtruss (macOS) per esaminare le chiamate di sistema effettuate dall'applicazione e determinare quali chiamate di sistema non sono supportate dalla sandbox.

In uso di strace (Linux)

Se esegui il codice su Linux, installa e attiva strace:

sudo apt-get install strace

Esegui l'applicazione con strace anteponendo la solita chiamata a strace -f, dove -f indica di tracciare tutti i thread secondari. Ad esempio, se normalmente richiami la tua applicazione con ./main, puoi eseguirla con una strategia chiamando /usr/bin/strace -f ./main.

Visualizzazione dei log restituiti dalla sequenza

I log di sistema di Strace hanno il seguente aspetto:

log di strace

In uso: dtruss (macOS)

Se esegui il codice su macOS, usa dtrusss anteponendo la tua solita chiamata a dtruss -a dalla riga di comando, ad esempio:

sudo dtruss -a ./main

Per la documentazione, utilizza il comando man dtruss o visita uno dei siti web di dtrace/drusss.