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 stracestrace (Linux) ou dtrussdtruss (macOS), para examinar quaisquer chamadas do sistema feitas pela sua aplicação que não sejam 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, onde -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 de strace têm o seguinte aspeto:

Registos strace

Usar o dtruss (macOS)

Se estiver a executar o código no macOS, use dtrusss precedendo 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.