Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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' Google Cloud assistenza fornendo i dettagli del problema Google Cloud e dopo che il team di assistenza ti ha invitato 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:
sudoapt-getinstallstrace
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 dtruss -a al consueto
richiamo dalla riga di comando, ad esempio:
sudodtruss-a./main
Per la documentazione, utilizza il comando man dtruss o visita uno dei
dtrace/drusss siti web.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Tracing system calls\n\nThis page describes using system call tracing to diagnose container sandbox\nlimitations, and assumes that you have some familiarity with system call tracing,\nusing tools such as [`strace`](https://en.wikipedia.org/wiki/Strace) or\n`dtruss`. If you are not familiar with system call tracing, you should proceed\nonly after you contact Google Cloud support with the details of your problem\nand have been invited to trace the system calls by the Google Cloud support team.\n\nThe container sandbox does not support all of the system calls that are\nsupported in Linux. You can use system call tracing tools such as `strace`\n(Linux) or `dtruss` (macOS) to examine the syscalls made by your application, to\nhelp determine the syscalls that are not supported by the sandbox.\n\nUsing `strace` (Linux)\n----------------------\n\nIf you're running your code on Linux, install and enable `strace`: \n\n```bash\nsudo apt-get install strace\n```\n\nRun your application with strace by prefacing your usual invocation with\n`strace -f` where `-f` means to trace all child threads. For example, if you\nnormally invoke your application with `./main`, you can run it with strace by\ninvoking `/usr/bin/strace -f ./main`.\n\n### Viewing the logs returned by strace\n\nThe system logs from strace look like this:\n\nUsing `dtruss` (macOS)\n----------------------\n\nIf you're running your code on macOS, use `dtrusss` by prefacing your usual\ninvocation with `dtruss -a` from the command line, for example: \n\n```bash\nsudo dtruss -a ./main\n```\n\nFor documentation, use the command `man dtruss`, or visit one of the\n[`dtrace/drusss` websites](http://www.brendangregg.com/DTrace/dtruss_example.txt)."]]