Rastreio de chamadas do sistema

Esta página descreve a utilização da monitorização de chamadas do sistema para diagnosticar limitações da sandbox de contentores e pressupõe que tem alguma familiaridade com a monitorização de chamadas do sistema, através de ferramentas como strace ou dtruss. Se não estiver familiarizado com o rastreio de chamadas do sistema, deve prosseguir apenas depois de contactar o Google Cloud apoio técnico com os detalhes do seu problema e ter recebido um convite para rastrear as chamadas do sistema por parte da Google Cloud equipa de apoio técnico.

A sandbox do contentor não suporta todas as chamadas do sistema que são suportadas no Linux. Pode usar ferramentas de rastreio de chamadas do sistema, como strace (Linux) ou dtruss (macOS), para examinar as chamadas do sistema feitas pela sua aplicação, de modo a ajudar a determinar as chamadas do sistema que não são suportadas pela sandbox.

Usar o strace (Linux)

Se estiver a executar o código no Linux, instale e ative o strace:

sudo apt-get install strace

Execute a sua aplicação com o strace antepondo a invocação habitual com strace -f, em que -f significa rastrear todas as threads secundárias. Por exemplo, se normalmente invocar a sua aplicação com ./main, pode executá-la com o strace invocando /usr/bin/strace -f ./main.

Ver os registos devolvidos pelo strace

Os registos do sistema do strace têm o seguinte aspeto:

Registos strace

Usar o dtruss (macOS)

Se estiver a executar o código no macOS, use dtrusss ao preceder a invocação habitual com dtruss -a a partir da linha de comandos, por exemplo:

sudo dtruss -a ./main

Para consultar a documentação, use o comando man dtruss ou visite um dos Websites dtrace/drusss.