Eclipse kullanarak hata ayıklama PHP betikleri

3 Cevap php

Ben sorunu olmadan bir süre PHPEclipse ve Zend Debugger ile Eclipse 3.4.2 kullanıyorum. Aniden, PHP betikleri hata ayıklama olamaz. Ben onları iyi çalıştırabilirsiniz ama ben seçmek zaman çalışıyormuş gibi Debug As... komut hata ayıklama penceresinde gösterir, ama değil. Duruyorum tıklarsanız o hattı 0 varlık olarak bildirir. Bunu adım olabilir, ben devam eğer, oturup sonra hala doğrultusunda 0 olmanın raporları tekrar duralım.

Ben, bütün her şeyi kapatma benim sistem yeniden başlatıp, şans olmadan yeni bir proje oluşturma denedim.

Geçenlerde Ubuntu sistem güncelleme vardı, ama PHP veya Eclipse ile ilgili hiçbir şey (söyleyebilirim ki) vardı. XULRunner güncellendi.

Ben onlar çalışırken daha önce olmuştu olarak seçilmiştir Zend Debugger ve PHP Executable sahip, ayıklama yapılandırmaları kontrol ettik. Eminim bu doğru yerde bakıyor yapmak için Kaynak Arama düzenleme etrafında oynadım.

Herhangi bir fikir?

Edit: eclipse en debugger i 10000 cezası localhost telnet port 10000 dinliyor. i bazı çöp karakterler göndermek zaman dinleme gibi görünüyor böylece Tutulma uyumsuz hata ayıklayıcı hakkında bir hata mesajı açılır

Düzenleme: Ben gerçekten oluyor ama yeni bir çalışma alanı oluşturmak olduğunu anlamaya mümkün değildi hile yapmak gibiydi

Güncelleme: Ben eclipse-temiz çalıştı (Ben ubuntu değilim) ama bana yardım etmedi. Ben. Günlük dosyası bulundu ve aşağıdaki hataları fark ettim. Başlangıçta:

!ENTRY org.eclipse.osgi 2 1 2009-10-05 17:02:11.979
!MESSAGE NLS missing message: DebugConnectionThread_oldDebuggerVersion in: org.eclipse.php.internal.debug.core.PHPDebugCoreMessages

!ENTRY org.eclipse.osgi 2 1 2009-10-05 17:02:11.980
!MESSAGE NLS missing message: DebugServerTestEvent_success in: org.eclipse.php.internal.debug.core.PHPDebugCoreMessages

!ENTRY org.eclipse.osgi 2 1 2009-10-05 17:02:11.980
!MESSAGE NLS missing message: DebugServerTestEvent_timeOutMessage in: org.eclipse.php.internal.debug.core.PHPDebugCoreMessages

Ben bir hata ayıklama oturumu başlatmak için deneyin sonra:

!ENTRY org.eclipse.php.debug.core 4 10001 2009-10-05 17:02:23.455
!MESSAGE Can't determine version of the PHP executable

!ENTRY org.eclipse.php.debug.core 4 10001 2009-10-05 17:02:23.983
!MESSAGE PHPDebug plugin internal error
!STACK 0
java.lang.NullPointerException
    at org.eclipse.php.internal.debug.core.preferences.stepFilters.DebugStepFilterController.isFiltered(DebugStepFilterController.java:98)
    at org.eclipse.php.internal.debug.core.zend.debugger.handlers.ReadyNotificationHandler.handle(ReadyNotificationHandler.java:34)
    at org.eclipse.php.internal.debug.core.zend.communication.DebugConnectionThread$InputMessageHandler.run(DebugConnectionThread.java:881)
    at java.lang.Thread.run(Thread.java:636)

Ben bu verilen başka bir şey izini görmek için çalışıyorum.

3 Cevap

Sen neler olduğunu çözemedim bahsettiniz, ancak yeni bir çalışma alanı oluşturarak sorunu çözmek için görünüyordu. Vaka muhtemelen Eclipse ile sadece iyi bilinen bir konudur. Temel olarak, zaman içinde, Cruft sistemde oluşturmak eğilimindedir. Bu durumda olarak, Eclipse (ve özellikle eklentileri) kırmak için başlar. Eclipse başlarken temiz argümanı kullanarak (yeni bir çalışma alanı yaratmadan) bu çözebilir.

Yani, Windows çalıştırıyorsanız, böylece görebilirsiniz Eclipse işaret kısayolu düzenlemek:

eclipse.exe -clean

Bu yardımcı olmalıdır. Bu konuda daha fazla bilgi okuyun: Keeping Eclipse Running Clean

Tutulma hakkında gerçekten güzel şeylerden biri belirli bir yolda bazı iyi niyetli gezgin mümkün size apt-get eclipse yapmak için yaptı bakınız rağmen, hiçbir yükleyici olmasıdır. (İpucu: bunu yapmaz.)

-Değil çok güzel şeylerden biri, oldukça karmaşık olmasıdır. Eğer sadece arşiv açmak ve bir paralel yüklemek yapmak, sahip anahtarları binlerce birini çevrilmiş olabileceğini düşünüyorsanız. Eclipse bile pencerelerde, böyle uslu edilir. Paralel işleri yüklerseniz, o zaman en azından bunu sadece çalışma alanı veya yapılandırma biliyorum, ve bu değilse, sen dışarıdan bakmak için biliyorum. (Err, sizin çalıştırmak yapılandırma ile iki kez aynı hatayı yaptı sürece.)

Herhangi bir değişiklik güvenlik duvarı yapılmıştır? Ben NuSphere php hata ayıklayıcı kullanmak, ve bir TCP soketi üzerinden iletişim kurar. Güvenlik duvarı güncelleştirmesi sırasında değiştirilmiş, güvenlik duvarı (belki) üzerinde çalışır localhost portu üzerinden ayıklayıcınızı müşteri temas ayıklayıcı sunucuyu engelliyor olabilir. Eclipse'in ayıklayıcı nasıl çalıştığını çok emin değilim, ama aynı şekilde tahmin ediyorum.

Tekmeler için, hata ayıklayıcı size paketleri göndererek olup olmadığını görmek için fırt çalıştırmayı deneyebilirsiniz.