Xdebug ile bir eklenti nasıl hata ayıklanır?


12

PHP 5.3.0 (XAMPP) tabanlı yerel ortamımda NetBeans 6.9.1 ve Xdebug'u kolayca yükleyip kurabildim.

Şimdi benim sorunum şu: Wordpress'in index.php veya diğer Wordpress çekirdek PHP dosyalarına bir kesme noktası koyarsanız, NetBeans istenen konumda doğru bir şekilde durur. Bunun yerine bir eklenti dosyasına bir kesme noktası koyarsanız, NetBeans kod yürütme orada durmaz bir tetikleyici.

Nasıl çözülebileceğini biliyor musunuz?

GÜNCELLEME: Hata ayıklamaya çalıştığım şey hakkında daha fazla bilgi

Eklenti Vanilla Forumları olarak adlandırılır ve aşağıdaki dosya yapısına sahiptir:

- plugins
  - vanilla-forums
    + assets
    + nbproject
    + templates
      admin.php
      embed.php
      functions.php
      hooks.php
      plugin.php
      sso.php
      widgets.php

Ben kesme noktasını vf_validate_optionstanımlanmış adlı bir fonksiyon içinde ayarladım functions.php. Bu işlevin yürütüldüğünden eminim, ancak NetBeans orada kırılmaz.


throw new Exception('die');Kesme noktasının çizgisinden sonra bir ifade koyarsanız , durur mu (yani, isteğinizi öldürür / sonlandırır)?
hakre

@hakre Evet, istisna atıyor (kesme noktasının ayarlandığı kodun yürütüldüğünden eminim)
Drake

1
@ Fren: Bu kod ana sayfada mı yoksa Ajax çağrısında mı yürütülüyor? Xdebug hata ayıklayıcı bazı GET veya POST değişkenleri ile etkinleştirilmesi ve sonra bir çerez ayarlar, belki Ajax isteği için etkin değil inanıyorum ?
Jan Fabry

1
Aynı problemim var ve hala bir çözüm bulamıyorum! Ben nusphere phped kullanıyorum ama sonuçsuz Eclipse de denedim! Kesme noktasında xdebug'un durduğu tek dosya wordpress "çekirdek" dosyalarıdır. Temanın php dosyası da hata ayıklanamaz! Bir çözüm bulursanız bana bildirin, wordpress resmi forumunda hiçbir cevap olmadan bir yazı yaptım :(
Kreker

1
Bence Jan Fabry çözüm üzerinde. Sorgu parametresini tüm isteklere ekleyecek olan Firefox eklentisi EasyXdebug'u kullanmayı tercih ederim XDEBUG_SESSION_START.
Jeff Stieler

Yanıtlar:




0

Merhaba @ Fren:

Aptalca bir soru, biliyorum, ama eklentiyi "aktive ettin " mi? Bu, eklentilerin hata ayıklanmadığı zamanlarda devreye giriyorum.


Evet, eklenti etkinleştirildi. Ne hata ayıklamaya çalışıyorum yönetici alanında eklenti kendini tarafından oluşturulan bir menü tarafından bir işlev tetikleyicisidir.
Drake

@Drake - "İşlev tetikleyicisi" nedir ? Lütfen kodunuzu sorunuzun güncellemesi olarak gönderebilir misiniz?
MikeSchinkel

0

eklentinin dosyalarında hata ayıklamanın bir yolu yoktur. Wordpress hata ayıklama için bulduğum tek yolu, ne yazık ki, ücretsiz değil nusphere phped kullanmaktır. Sadece bunu yapabiliyor gibi görünüyor, neden bilmiyorum ama netbeans ve tutulma ile nasıl hata ayıklamak için çok uzun zaman harcıyorum ... sonuçsuz!


-3

WordPress'in kendisi sağladığından WP_DEBUGve wp_die($msg)... neden Xdebug ile hata ayıklamanız gerekiyor? Eklentinizi bir çerçeve kullanarak oluşturmadığınız sürece?


xdebug, WP_DEBUG ve çıktının yapmadığı birçok araç sunar - bir başlangıç ​​için profil oluşturma ve adım atma ...
14'te boisvert

Aynı zamanda Xdebug hakkında çok az bilgim vardı.
adrian7
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.