Monitoraggio delle chiamate di sistema

Questa pagina descrive l'utilizzo del monitoraggio delle chiamate di sistema per diagnosticare le limitazioni della sandbox del contenitore e presuppone che tu abbia familiarità con il monitoraggio delle chiamate di sistema, utilizzando strumenti come strace o dtruss. Se non hai dimestichezza con il monitoraggio delle chiamate di sistema, procedi solo dopo aver contattato l'assistenza Google Cloud fornendo i dettagli del problema e dopo aver ricevuto l'invito del team di assistenza Google Cloud a monitorare le chiamate di sistema.

La sandbox del contenitore non supporta tutte le chiamate di sistema supportate in Linux. Puoi utilizzare strumenti di monitoraggio delle chiamate di sistema come strace (Linux) o dtruss (macOS) per esaminare le chiamate di sistema effettuate dalla tua applicazione, per contribuire a determinare le chiamate di sistema non supportate dalla sandbox.

Utilizzo 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 normale chiamata con strace -f, dove -f indica la traccia di tutti i thread secondari. Ad esempio, se normalmente richiami l'applicazione con ./main, puoi eseguirla con strace richiamando /usr/bin/strace -f ./main.

Visualizzazione dei log restituiti da strace

I log di sistema di strace hanno il seguente aspetto:

Log di strace

Utilizzo di dtruss (macOS)

Se esegui il codice su macOS, utilizza dtrusss anteponendo il consueto richiamo con dtruss -a dalla riga di comando, ad esempio:

sudo dtruss -a ./main

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