Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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:
sudoapt-getinstallstrace
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:
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:
sudodtruss-a./main
Para consultar a documentação, use o comando man dtruss ou visite um dos Websites dtrace/drusss.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 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)."]]