DLL DEBUGGING

Delphi ile yazdığımız DLL kütüphanelerini Debug etmek ilk başta karmaşık yada çok zor gibi algılansa da ne kadar basit olduğunu göstereceğim.

Öncelikle Delphi sağ tıklayıp “Yönetici” olarak çalıştırın. DLL projenizi açın. “Project Manager” dan projeyi sağ tıklayın “Options” menüsene girin. Solda ki listeden “Debugger” ı tıklayın. Sağ tarafta açılan menüde “Host Application” a DLL i kullanan uygulamayı (exe) seçin. Ok tıklayıp çıkın. F9 ile DLL projenizi çalıştırın. DLL derlendikten sonra Host uygulaması çalışacaktır ve delphi debug moda geçecektir. Artık DLL içersinde herhangi bir yere breakpoint ekleyip debug işlemlerine başlayabilirsiniz.

Önemli bir nokta var belirtmek istediğim. Beni baya uğraştırmıştı ilk başta. Delphiyi Yönetici olarak çalıştırmazsanız F9 yaptığınızda “Unable to create process: İstenen işlem için yükseltme gerekiyor.” hata mesajının benzeri ile karşılaşabilirsiniz. Vista ve üzeri sistemlerde Delphiyi yönetici olarak çalıştırmayı unutmayın.

Php Hata Ayıklama

Merhaba arkadaşlar bu yazımda sizlere Php ile nasıl Debug işlemi yapabileceğinizi anlatacağım.

Öncelikle debug nedir bundan biraz bahsedeyim. Bug=böcek, debug= böcek temizleme anlamına gelir. Burada böcekten kasıt kodlama hataları sonucu oluşan sorunlardır. Yani debuging hata ayıklamak demektir. Bug kelimesinin nereden geldiğini detaylı olarak başka bir yazımda anlatabilirim.

Şimdi konumuza dönecek olursak. Php ile hata ayıklamak için “XDEBUG” denilen bir php eklentisi kullanılıyor. Bizde bu eklenti yardımı ile çoğu programlama dilinde olduğu gibi break point koyup adım adım kodları ilerleterek analiz etme, o anki değişken değerlerini görme, değişkenlerin değerlerini debug zamanında elle değiştirme gibi işlemler yapabiliriz. Tabi bu işlemler için birde IDE lazım 🙂 Ben Php Designer 8 e göre anlatımı yapacağım. Deneme sürümünü ve xDebug ı aşağıdan indirin.

Php Designer 8 indirip yükleyin.

XDebug‘ın bilgisayarınıza kurduğunuz php versiyonuna uygun olan versiyonunu indirin. (Not: Dosya isimlerinde TS geçenler Thread Safe anlamına geliyor.)

(Aşağıdaki işlemler Php dizini = “C:php”; Apache htdocs = “C:www”; olduğu varsayılarak anlatılacaktır.)

İndirdiğiniz dll dosyasını php dizini altındaki ext klasörü içersine atın. php.ini dosyasını açın ve alttaki tanımlamaları ekleyin.

[XDebug]

zend_extension=”C:phpextphp_xdebug-2.1.3-5.3-vc9-nts.dll”
xdebug.remote_enable = true
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.profiler_enable = 1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir =”C:ProgramDataApplication DataphpDesignerXDebugCache”
xdebug.trace_output_dir = “C:/www/Temp/xdebug”

Php Desinerı açın.

Menüden, Tool–>Preferences–>Debuger içinde

PHP =”C:phpphp-cgi.exe”; Configuration = “C:phpphp.ini” olarak değiştirin. Aynı işlemi Syntax Check ve Run kısımları içinde yapın.

Localhost kısmına gelin ve Server Path e “http://localhost”, Local Server Path e “C:www” yazarak kayıt edin.

Php Designer içinde yeni bir web sayfası oluşturun. Bir takım php kodları yazın. Hata ayıklama işlemine başlamak istediğniz satıra gelerek F5 tuşu ile break point koyun. Daha sonra F9 tuşu ile sayfayı debug modda çalıştırın. Kodlar sunucu tarafında derlenirken break point olan satıra gelindiğinde IDE içersinde kesintiye uğratılarak sizin satır satır devam ettirmeniz beklenecektir. F8 tuşu ile sonraki satıra, F7 tuşu ile aktif satır içersinde kullanılmış fonksiyon varsa, içersine dallanabilirsiniz.