Ditengah kesibukan penulis menjadi customer support, GemarOprek “sedikit” dituntut untuk dapat menganalisa progam php yang digunakan pelanggan kami. berikut ini adalah artikel Cara Debug PHP menggunakan Strace Gdb
terkadang anda harus mencari tahu kenapa script PHP anda tidak berjalan dengan baik atau lama menjalankan request.
Untuk mencari tahu hal tersebut. Anda mungkin bertanya-tanya apa yang dilakukan script tersebut?
Ada beberapa tools Debugging yang dapat membantu Anda untuk mencari tahu, tanpa harus menghentikan script.
oh iya, bagi anda yang belum tahu apa itu Debugging,
Debugging adalah proses metode menemukan dan mengurangi jumlah bugs (celah), atau cacat, dalam sebuah program
p.s: tutorial ini hanya berjalan pada lingkungan Linux.
Tools pertama yang bisa anda coba adalah strace.
Cara Debug PHP menggunakan Strace Gdb
strace -p
melalui Process id anda dapat mengetahui dengan menjalankan perintah ps aux | grep php dan kemudian periksalah dari daftar process list yang mungkin salah satunya menggunakan resource CPU hingga 100%. Hal ini juga dapat memungkinkan anda untuk menjalankan strace langsung dengan argumen program anda, contoh:
strace -e open,close php yourscript.php
Tools ini juga sangat berguna untuk mengetahui sinkronisasi file php.ini dengan file PHP anda:
strace -e open php yourscript.php 2>&1 | grep php.ini
tools kedua adalah ltrace, penggunaan tools ini masih mirip dengan strace.
aplikasi ini menghasilkan informasi lebih banyak daripada strace tetapi harus memberikan petunjuk yang baik dari semua fungsi C-library yang akan dipanggil. untuk mengenai tools ini saya tidak ingin membuat anda makin pusing membaca artikel ini
silahkan anda menuju link ini jika ingin mengetahui ltrace lebih dalam
tools ketiga adalah gdb
Jika strace atau ltrace tidak menghasilkan output apapun, kemungkinan script ataupun ekstensi melakukan banyak komputasi. Untuk kemudian mencari tahu di mana fungsi PHP script Anda saat ini, Anda dapat menggunakan alat gdb.
gdb atau GNU debugger adalah debugger umum untuk aplikasi C/C++ dan menyediakan fungsi yang sama seperti Xdebug yang menyediakan untuk debugging script PHP. Sekali lagi, Anda dapat menjalankan gdb dengan argumen baru, dan kemudian ketik di (gdb) command prompt:
gdb --args php yourscript.php (gdb) run
Atau dengan proses yang sudah berjalan dan kemudian menjalankan cont pada command prompt:
gdb -p (gdb) cont
bagaimana? tutorial ini tidak membuat mata anda sakit kan?
untuk scripting lebih detailnya, silahkan anda menuju link referensi. CMIIW
referensi:
– https://drupal.org/node/1817744