Strace adalah alat utilitas baris perintah debugging yang sangat kuat yang membantu memecahkan masalah dengan memantau panggilan sistem dan sinyal dari program tertentu. Jika kita tidak memiliki kode sumber yang tersedia, strace dapat digunakan untuk menganalisis bagaimana suatu program berinteraksi dengan sistem. Dalam artikel ini, kita akan membahas beberapa perintah strace penting untuk memecahkan masalah dan men-debug program dan proses di Linux.
Pemasangan
Pemasangan alat utilitas strace adalah proses yang mudah dan sederhana. Gunakan perintah berikut untuk menginstal aplikasi sesuai distribusi Linux Anda.
Debian/Ubuntu
$ sudo apt install strace
RedHat/CentOS
$ yum install strace
Verifikasi instalasi dengan menjalankan perintah berikut
$ strace -V
Keluaran:
1.Lacak panggilan sistem Perintah Linux menggunakan strace
Strace sangat membantu saat melacak panggilan sistem perintah Linux. Dalam contoh ini, perintah sederhana pwd digunakan untuk melacak.
$ strace pwd
Keluaran:
2. Redirect jejak log dalam file
Log pelacakan panggilan sistem dapat diarahkan ke file menggunakan perintah strace sebagai:
$strace -o pwd-log.txt pwd
Gunakan perintah cat untuk menemukan konten file sebagai:
$ cat pwd-log.txt
3. Gunakan strace untuk mencetak ringkasan panggilan sistem alih-alih keluaran reguler.
Menggunakan strace dengan opsi -c memungkinkan untuk mencetak ringkasan log. Dalam contoh ini, ringkasan perintah linux pwd disajikan.
$ strace -c pwd
Keluaran:
4. Lacak panggilan sistem tertentu menggunakan strace
Perintah strace dengan opsi -e dan jenis jejak (baca, tulis) dapat digunakan untuk melacak panggilan sistem tertentu. Dalam contoh ini, panggilan sistem tulis sedang dilacak untuk perintah pwd.
$ strace -e trace=write pwd
Keluaran:
5. Perintah Strace untuk mencetak stempel waktu setiap panggilan sistem.
Perintah Strace dengan opsi -r dapat digunakan untuk mencetak semua stempel waktu relatif dari setiap panggilan sistem.
$ strace -r pwd
Keluaran:
6. Menelusuri menggunakan id proses
Jika ada proses yang sudah berjalan di sistem, panggilan sistem dapat dilacak dengan menggunakan perintah strace dengan opsi -p bersama dengan id proses. Dalam contoh ini, id proses nginx digunakan untuk melacak
Sintaks
$ strace -p <process id>
$ strace -p 12842
Pelacakan dapat dihentikan dengan menekan ctrl+c.
7. Perintah strace untuk mencetak hasil debug
Perintah Strace dengan opsi -d dapat digunakan untuk mencetak output debugging. Dalam contoh ini, perintah Linux sederhana pwd digunakan untuk melacak.
$ strace -d pwd
Keluaran:
8. Perintah Strace untuk mencetak waktu yang dihabiskan untuk panggilan sistem.
Perintah Strace dengan opsi -T memberikan waktu yang dihabiskan untuk panggilan sistem sebagai:
$ strace -T pwd
Keluaran:
9. Perintah strace untuk mencetak penunjuk instruksi
Perintah Strace dengan opsi -i mencetak penunjuk instruksi. Dalam contoh ini, perintah Linux sederhana pwd digunakan untuk melacak.
$ strace -i pwd
Keluaran:
10. Perintah strace untuk melacak panggilan sistem berdasarkan kondisi tertentu
Perintah strace dapat digunakan untuk melacak panggilan sistem berdasarkan kondisi tertentu seperti memori, proses, CPU, dll. Dalam contoh ini, panggilan sistem yang terkait dengan manajemen memori sedang dilacak untuk perintah Linux sederhana pwd.
$ strace -q -e memori pwd
Keluaran:
11. Perintah strace untuk melacak panggilan sistem terkait sinyal
Panggilan sistem terkait sinyal dapat dilacak dengan menentukan jenis jejak dalam perintah. Dalam contoh ini nc -v -n localhost 80 digunakan untuk melacak panggilan sistem yang terkait dengan sinyal.
$ strace -e trace=signal nc -v -n 127.0.0.1 80
Keluaran:
Kesimpulan
Pada artikel ini, kita mempelajari apa itu alat utilitas strace dan kapan itu dapat digunakan. Selain itu, saya telah membahas beberapa perintah strace penting untuk memecahkan masalah dan men-debug panggilan dan proses sistem.