Jumat, 18 Juni 2010

Sebuah Aplikasi yang baik dan kuat/robust application seminimal mungkin harus terhindar dari bug walaupun pastinya no body's perfect,dan satu hal lagi yang menjadi ukuran baiknya sebuah apllikasi adalah tidak memiliki kebocoran memory atau lebih dikenal dengan Memory Leak.saya coba mengulas sedikit apa itu memory leak (Memory Leak Detection).
Memory Leak adalah suatu keadaan dimana suatu blok memory yang dialokasikan tp tidak pernah di bebaskan oleh pihak yang bertanggung jawab(program),jika memory yang dialokasikan tidak dibebaskan dari memory,maka akan mengurangi ketersedian memori yang dapat digunakan oleh sistem operasi dan aplikasi lainnya, sehingga apabila terdapat dalam jumlah yang besar, dapat mempengaruhi kinerja sistem operasi dan aplikasi lainnya.


Contoh Memory Leak
Contoh Berikut kita akan membuat sebuah memory leak
hanya contoh:

  1. Procedure TForm1.Button1Click(Sender:TObject);
  2. var
  3. aObject:TObject;
  4. begin
  5. aObject:=TObject.Create;
  6. ShowMessage('an Object was created!');
  7. end;

kode diatas sudah benar dan berhasil dikompile dan ditutup dengan baik,program kelihatannya berjalan baik-baik saja.tetapi sebenarnya ada sebuah blok memory yang dialokasikan untuk aObject dan tidak pernah dibebaskan walaupun kita sudah menutup program nya.blok memory yang tidak terpakai ini dapat dibebaskan setelah komputer di restart atau dengan menggunakan software memory cleaner.

Bagaimana mendeteksi Memory Leak?
Untuk mendeteksi Meory leak kita bisa menggunakan tool seperti eurekaLog dll.
Sejak Delphi 2006 keatas delphi menggunakan FastMM sebagai default Memory Manager nya ,dan mempunyai fasilitas untuk melaporkan adanya memory leak yang terjadi ketika aplikasi di tutup.secara default fasilitas ini tidak diaktifkan,kita dapat mengaktifkannya dengan satu baris kode saja pada file .dpr di project kita.
contoh pada file .dpr project :

  1. begin
  2. ReportMemoryLeaksOnShutdown:=true;
  3. Application.Initialize;
  4. Application.MainFormOnTaskbar := True;
  5. Application.CreateForm(TForm1, Form1);
  6. Application.Run;
  7. end.
Dan compile kembali project tadi kemudian jalankan.setelah di tutup program tadi maka akan menampilkan laporan memory leak seperti berikut :

Fasilitas Laporan ini memang tidak menunjukan secara detail Unit,Procedure/Function,dan baris code dimana kesalahan tersebut terjadi.tetapi jika anda menggunakan produk komersial seperti eurekalog anda dijamin akan puas,tapi setidak nya lebih baik dari pada tidak sama sekali .
Jika anda Menggunakan Delphi 2006 kebawah anda bisa mendownload FastMM dan mengintregasikanya dengan delphi.

Semoga bermanfaat,Keep Spirit!

dikutip dari: http://fajardelphiscript.blogspot.com

7 komentar:

Posting Komentar

makasih sudah mampir.... ^_^

Follow by Email

Daftar Kunjungan

sejak tanggal 11 agustus 2010

Date

dot_exe

Promosi dikit neh... ^_^

Jika anda ingin meningkatkan kinerja perusahaan atu tempat anda bekerja, saya penulis dapat memenuhi kebutuhan anda . baik atas nama kelompok (CV) atau perorangan:
penulis menyediakan softaware-software seperti:
1. Dinas pemerintahan / Swasta
2. Percetakan
3. Toko / swalayan
4. Dinas pendidikan
5. dll

software dapat berbentuk desktop atau model jaringan (client server).
Selain itu menerima pemesanan pembuatan Website baik yang pribadi maupun perusahaan.

bagi yang berminat dapat mengirim e-mail ke alamat dotexe.chili@gmail.com

Popular Posts

Daftar Komentar

temen-temenku