Melacak panggilan sistem

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:

sudo apt-get install strace

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:

log strace

Menggunakan dtruss (macOS)

Jika Anda menjalankan kode Anda di macOS, gunakan dtrusss dengan mengawali pemanggilan Anda biasanya menggunakan dtruss -a dari command line, misalnya:

sudo dtruss -a ./main

Untuk dokumentasi, gunakan perintah man dtruss, atau kunjungi salah satu situs dtrace/drusss.