Tutorial Qt C++ 3: Debug dan Release Build Mode

Seperti yang saya janjikan pada artikel sebelumnya yaitu Tutorial Qt C++ 2: Membuat Project mengenai maksud Debug dan Release, maka kali ini saya akan membahasnya sesuai sepemahaman saya. :D

Jadi begini, dalam pemrograman yang biasanya anda akan menjumpai istilah Debug. Debug sendiri maksudnya adalah usaha menemukan dan memperbaiki kesalahan (Atau istilahnya Bug) dari program yang kita buat. Dan biasanya proses Debug dilakukan oleh pengembang software itu sendiri. Secara garis besar proses debug dalam pemrograman adalah mencari atau melacak letak baris kode yang mengandung kesalahan, baik kesalahan fatal maupun ringan.

 

Lalu, Apa perbedaan Debug dengan Release..??

 

Pada saat kita melakukan build (compile) pada program yang kita buat dalam mode Debug, maka program tersebut telah disisipkan informasi debug yang nantinya akan digunakan oleh aplikasi debugger seperti GDB. Secara otomatis file aplikasi yang kita build menjadi lebih besar karena disisipi library dan informasi debug. Mode debug biasanya di gunakan pada lingkungan development dan untuk kepentingan programmer saja.

 

Sedangkan apabila kita build menggunakan Release mode, yang artinya aplikasi kita sudah siap untuk di gunakan untuk sehari hari (production). Dan aplikasi yang dihasilkan pun lebih ramping, karena code yang di gunakan memang benar benar hanya kode yang kita tulis saja, tanpa embel embel informasi debug.

 

Pada Qt Creator terdapat 3 tombol di pojok kiri bawah (Lihat Gambar 1), yaitu tombol Run (Shortcut Ctrl+R) ditandai dengan icon Play berwarna Hijau, yang berfungsi melakukan Build dan menjalankan aplikasi hasil build. Kemudian tombol kedua yaitu tombol Start Debugging (Shortcut F5) yang berfungsi melakukan build dan menjalankan aplikasi, serta menjalankan aplikasi debugger untuk melakukan debugging. Dan yang terakhir tombol Build Project (Shortcut Ctrl+B) yang hanya akan melakukan compiling (build) pada project kita tanpa menjalankan hasil build.

Gambar 1: Memilih Mode Build Gambar 1: Memilih Mode Build

Berikut perbedaan dari keduanya secara mendetail,

Debug

Secara default Qt Creator akan melakukan Build pada mode Debug, untuk menggantinya anda dapat memilih mode seperti yang tertera pada Gambar 1. Debug mode akan sangat berguna bagi kita untuk menelusuri error atau hanya sekadar melakukan trace terhadap kode kode dan variabel yang kita tulis.

 

Sebenarnya saya tidak terlalu berpengalaman soal debuging, tapi kemarin pernah ketemu error pada saat aplikasi di jalankan dan terjadi Hang (Not Responding), padahal pada saat melakukan compile tidak terdapat warning maupun pesan error yang nampak, tapi saat program di jalankan dan melakukan fungsi tertentu program menjadi hang. Nah pada kasus ini debuging perlu di lakukan.

 

Untuk melakukan proses debugging kita harus berada pada Debug Build Mode, seperti yang sudah di jelaskan di atas bawha pada Debug build mode program kita akan disisipi informasi debug yang digunakan oleh Debugger (Tukang Debug / Aplikasi Debug).

 

Pernah melakukan deploy aplikasi Qt kita ke komputer lain? pada hal ini anda akan merasakan perbedaan Debug dan Release mode. Pernah suatu ketika, saya di minta membuat aplikasi untuk pelaporan transaksi mingguan, yang di bilang masih tahap simple lah, jadi aplikasinya berfungsi import data transaksi, meng-generate laporan dan mencetaknya ke printer. Saat itu saya belum faham betul mengenai mode Debug dan Release.

 

Kebetulan aplikasi tersebut saya build di windows karena yang memakai nantinya user windows (tapi codingnya di linux). Jadi saya menjalankan aplikasi tersebut dan ternyata error, setelah saya telusuri hanya perlu mengcopykan DLL (Dan Lain Lain Dynamic Link Library) dari Qt (QtCore.dll, QtGui.dll, etc) ke dalam satu folder dengan aplikasi tersebut dan ternyata bisa berjalan dengan normal, begitu saya akan mengcopykan ke komputer lain saya kaget dengan ukuran file beserta librarynya tadi, sekitar 100Mb. Bayangkan saja, aplikasi dengan fitur sesimple itu tidak sumbut dengan ukuranya?. 

 

Setelah browsing sana sini ternyata masalahnya ada pada Debug Mode. Jadi saya mengubah mode menjadi Release Mode dan huwala, ukuran aplikasi beserta librarynya menjadi lebih ramping.

Release

Mengenai release mode, saya kira sudah cukup terjawab dengan penjelasan yang ada pada sesi Debug Mode. Secara umum Release mode kita melakukan build dengan library yang penting penting saja, tanpa ada informasi debug, sehingga ukuran file aplikasi yang di hasilkan menjadi lebih kecil. Jadi kalau kita ingin melakukan deploy aplikasi ke komputer lain atau menyebarnya melalui internet, sebaiknya anda menggunakan Release mode pada saat melakukan build. Selain lebih kecil dalam segi ukuran, release mode juga lebih aman dari potensi injeksi kode kode seperti virus, malware dan lain lain dari orang yang tidak bertanggung jawab.

 

Sekian Penjelasan dari saya, Mungkin pada artikel selanjutnya kita akan mulai dengan coding. Doakan supaya tetap konsisten untuk melanjutkan tutorial Qt ini, semoga bermanfaat bagi anda semua. Dan mohon maaf apabila masih banyak kesalahan dalam penulisan, cara penyampaian, dan tata bahasa yang saya gunakan. Kritik dan saran anda sangat membantu saya dalam proses penyampaian tutorial tutorial berikutnya dengan lebih baik lagi.