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:
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.