Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan penggunaan pelacakan panggilan sistem untuk mendiagnosis batasan sandbox
container, dan mengasumsikan bahwa Anda telah memahami pelacakan panggilan sistem,
menggunakan alat seperti strace atau
dtruss. Jika Anda belum memahami pelacakan panggilan sistem, sebaiknya Anda melanjutkan
hanya setelah menghubungi dukungan Google Cloud dengan memberikan detail masalah
dan telah diundang untuk melacak panggilan sistem oleh tim dukungan Google Cloud .
Sandbox container tidak mendukung semua panggilan sistem yang didukung di Linux. Anda dapat menggunakan alat pelacakan panggilan sistem seperti strace
(Linux) atau dtruss (macOS) untuk memeriksa syscall yang dibuat oleh aplikasi Anda, untuk
membantu menentukan syscall yang tidak didukung oleh sandbox.
Menggunakan strace (Linux)
Jika Anda menjalankan kode Anda di Linux, instal dan aktifkan strace:
sudoapt-getinstallstrace
Jalankan aplikasi Anda dengan strace dengan mengawali pemanggilan Anda seperti biasa menggunakan
strace -f, yang mana -f bertujuan untuk melacak semua thread turunan. Misalnya, jika biasanya Anda memanggil aplikasi Anda dengan ./main, Anda dapat menjalankannya menggunakan strace dengan memanggil /usr/bin/strace -f ./main.
Melihat log yang ditampilkan oleh strace
Log sistem dari strace terlihat seperti ini:
Menggunakan dtruss (macOS)
Jika Anda menjalankan kode Anda di macOS, gunakan dtrusss dengan mengawali pemanggilan Anda
biasanya menggunakan dtruss -a dari command line, misalnya:
sudodtruss-a./main
Untuk dokumentasi, gunakan perintah man dtruss, atau kunjungi salah satu situs dtrace/drusss.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 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)."]]