Mayıs 28

Debug Server

2017-05-28_10-02-52

Program yazarken sıklıkla karşılaştığım bir hatada sorunun nerede olduğunu anlamak için showmessege ile uygulamadan adım adım mesajlar alarak kontrol sağlarım.

Bir değişkene istediğim değer atanmış mı ? Çalıştığını düşündüğüm koşul gerçekten çalışıyor mu ? Bu tür kontrolleri hep bu yöntem ile yapardım ve daha sonrada bu mesajları temizlemeye uğraşırım. Bunu belki lazarus’un kendi mesaj penceresine bilgi göndererek de çözebiliriz ama şimdi farklı bir yöntemden bahsedeceğim.

Debug Server, esasen lazarus ile birlikte gelen bir araç.  Uygulamadan bu yazılıma mesaj göndererek hem yazılımın kesilmesini engelliyorsunuz hemde daha sağlıklı bir rapor elde ederek yazılımınızın çalışma sıralamasını varsa hatalarını görebiliyorsunuz.

Programı kullanabilmek için önce derlemek gerekiyor. Bunu lazarus’u kurduğumuz klasör altında tools\debugserver klasöründeki projeyi açarak yapıyoruz. Projeyi açıp derledikten sonra Lazarus menüsünden Araçlar \ Configure External Tools peceresini açıp Ekle diyerek uygulamayı ekliyoruz.

2017-05-28_10-07-45

Artık araçlar menüsünde uygulamamız hazır.

2017-05-28_10-13-28

Şimdi sıra kendi uygulamamızın, bu yazılıma mesaj göndermesi. Bunun için uygulamanın uses kısmına dbugintf kitaplığını ekliyoruz.

Artık yazılımımızda istediğimiz zaman

  SendDebug('Basic Sürüm');

kodlamasıyla debug server’a mesaj gönderebiliyoruz.

2017-05-28_10-02-52

Bunun dışında boolean tip ya da tarih, sayı tiplerinde de bilgiler gönderebiliyoruz. Gönderilen mesajın hatamı, bilgi tipinde olduğunu seçebiliyoruz.

  SendDebug('Basic Sürüm');
  Sleep(100);
  SendDateTime('Tarih',now);
  Sleep(100);
  SendDebugEx('HATA',dlError);
  SendSeparator;
Aradaki sleep komutları debug server’ın bu şekilde aralıksız mesajları yakalayabilmesi için gerekiyor.

Son bir ipucu ise StartDebugServer bu komutla debug server’ı araçlar menüsünden çağırmadan programın açılışında otomatik olarak çalıştırabiliyoruz. Bunun için PATH değişkeninde programın kurulu olduğu tools\debugserver klasörünün tanımlı olması ve programın adının dbugsrv olarak değiştirilmesi gerekiyor.

Eğer bütün bunlarla uğraşmayayım lazarus’un ileti penceresini kullanayım diyorsanız

  {$WARNING Basic Surum}

diyerek lazarus’un mesaj penceresini de kullanabilirsiniz.  Bu tür derleyici direktifleri başka bir yazıda incelemek dileğiyle.

 

Did you like this? Share it:

Etiketler:, ,

Posted 28 Mayıs 2017 by admin in category Lazarus

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*