Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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:
sudoapt-getinstallstrace
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:
sudodtruss-a./main
Para documentação, use o comando man dtruss ou acesse um dos sites
dtrace/drusss (em inglês).
[[["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 2024-12-05 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)."]]