Nesta página, descrevemos o uso do rastreamento de chamadas do sistema para diagnosticar limitações do sandbox
de contêiner e presumimos que você tenha familiaridade com o rastreamento de chamadas do sistema
usando ferramentas como strace
(em inglês) ou
dtruss
. Se você não conhecer o rastreamento de chamadas do sistema, prossiga
somente depois de entrar em contato com a equipe de suporte do Google Cloud com os detalhes do problema
e receber o convite deles para rastrear essas chamadas.
O sandbox do contêiner não aceita todas as chamadas do sistema
compatíveis com o Linux. Use ferramentas de rastreamento de chamadas do sistema, como strace
(Linux) ou dtruss
(macOS), para examinar os syscalls feitos pelo aplicativo e
ajudar a determinar os syscalls que não são compatíveis com o sandbox.
Como usar strace
(Linux)
Se estiver executando seu código no Linux, instale e ative strace
:
sudo apt-get install strace
Execute seu aplicativo com strace colocando o prefixo
strace -f
em que -f
significa rastrear todas as linhas de execução filhas. Por exemplo, se você
invocar o aplicativo com ./main
, poderá executá-lo com strace invocando /usr/bin/strace -f ./main
.
Como visualizar os registros retornados pelo strace
Os registros do sistema do strace são assim:
Como usar dtruss
(macOS)
Se você estiver executando o código no macOS, use dtrusss
. Para isso, adicione
dtruss -a
na linha de comando antes da invocação normal. Por exemplo:
sudo dtruss -a ./main
Para documentação, use o comando man dtruss
ou acesse um dos sites
dtrace/drusss
(em inglês).