GDB ile PHP yorumlayıcı hata ayıklama

2 Cevap php

Ben php.so Apache uzantısını oluşturan C + + kod olsa adıma GDB kullanmak istiyorum. Ben bir PHP uygulama çalıştığı sürece PHP ne yaptığını görmek istiyorum. Tercihen Ben bir lamba sistemi üzerinde NetBeans veya Eclipse gibi bir IDE kullanmak istiyorsunuz.

2 Cevap

  1. Sen (sembollerle) mod_php bir hata ayıklama yapı üzerinde ellerini almak istiyorsanız ya build your own (configure --enable-debug)
  2. Her zaman (hata ayıklama örneği olacak olan) tam bir işçi işlemi örneğini yetişmek için Apache yapılandırmanız gerekir ki, ayarlanır MinSpareServers , MaxSpareServers and StartServers < / a> 1 bütün. Ayrıca emin olun herhangi bir zaman aşımı parametreleri cömertçe ayarlanır
  3. Use gdb or any graphical interface to gdb (such as ddd or Eclipse CDT) ve tek Apache işçi sürecine eklemek. Vb PHP kaynaklarından birinde bir kesme noktası sopa ve devam edin.
  4. Sunucunuza tarayıcınızı ve bir PHP sayfasına erişmek. Sizin kesme tetikler. Eğer PHP komut dosyası yürütülmesine belli bir noktada hata ayıklayıcı uyanmak istiyorsanız, PHP bir SIGTRAP oluşturmak ve gdb normalde size mecbur edecektir.

Eğlenin!

Belki pencerelerde bunu yapabilir.

Ancak, en iyi bahis Unix kutusunda bu yapmaktır. Etkinleştirilmiş ayıklama ile herşeyi derlemek zorunda kalacaktır. GDB kaynağı için bu dizinlere erişimi gerekir.

Sonra apache çalıştırmak ve sonra işlemi çalıştırmak zorunda olacak.

Kendinize bir tarayıcı ile PHP / Apache isabet ederken ataşe için zaman vermek amacıyla, PHP komut dosyası bir uyku çağrı ekleyin. Eğer ps varsa, uyku durumunda sürecini göreceksiniz. Ya da sadece uyku yok önce tmp bir dosyaya proses id yazmak olabilir.