2012-11-14 32 views
5

Tutulma dışında çalışırken RCP tutulması uygulamam başarısız oluyor, ancak tutulma içinde çalışırken düzgün çalışıyorsa, tutulma ortamının dışında çalışırken uygulamamın uzaktan hata ayıklaması için tutulmayı kullanmaya çalışıyorum.RCP uygulamamı nasıl uzaktan ayıklayabilirim?

64 bit Windows 7 makinede 32 bit Eclipse 3.6.1 kullanıyorum. 32 bit Java 1.6 güncelleştirmesi 37 kullanıyorum. Uygulamayı paketlemek için Eclipse Ürünü dışa aktarma sihirbazını kullanıyorum ve bir eclipse.exe ile bitiyorum. Uzak Hata Ayıklama Yapılandırması oluşturdum ve 8765 numaralı bağlantı noktasını (rasgele sayı) kullanacak şekilde ayarladım. Hata ayıklama amacıyla, bu satırı kullanarak komut satırından uygulamayı başlatmak:
eclipse.exe -Xdebug -Xrunjdwp: taşıma = dt_socket, adres = 127.0.0.1: Ben takılarak veya üzeri dinliyorum bağlı olarak 8765

benim Eclipse hata ayıklayıcı, bu komut satırına sunucu = [y/n] seçeneğini ekleyeceğim, ancak herhangi bir fark yaratmıyor gibi görünüyor.

Yapılandırma Bağlantı Türü için hem Standart (Soket Dinle) hem de Standart (Yuva Bağlantısı) denedim. Socket Listen'ı denediğimde, hata ayıklayıcım dinlemeye başlayacak - "872 numaralı bağlantı noktasında bağlanmak için vm bekleniyor", ancak uygulamanızı komut satırından başlattığımda, uygulama iyi çalışıyor ancak hata ayıklayıcı asla eklenmiyor. Ben Soket takın çalıştığınızda

, ben ilk

Ben "reddetti uzak VM. Bağlantı bağlanamadı" komut satırını ben tutulmayı kullanarak takmak istediğinizde, o zaman, ben mesajı alıyorum kullanarak uygulamayı başlatmak ve tüm çeşitli adres kombinasyonlarını denedim: localhost, 127.0.0.1 ve yerel IP adresim. Her seferinde aynı sonucu alırım.

Yardımlarınız için teşekkürler!

cevap

9

-vmargs parametresini kaçırdınız. Deneyin "eclipse.exe -vmargs -Xdebug -Xrunjdwp: taşıma = dt_socket, adres = 127.0.0.1: 8765"

Ben aynı şeyi arayan oldu

ve http://blog.ankursharma.org/2010/05/remote-debugging-eclipse.html

+0

Vay sonunda işe yarıyor! Yardımın için çok teşekkürler; Bu teknikten vazgeçmek üzereydim. – JasonK

+1

Ayrıca ek sunucuya ihtiyaç duydum ve Ankura'nın blogunda görülen askıları askıya aldım: -vmargs -Xdebug -Xrunjdwp: transport = dt_socket, server = y, suspend = n, address = 1044 – Eric

1

RCP uygulamanızda hata ayıklamanın daha iyi bir yolu, "-console" "-consolelog" ile başlatmaktır. Bu size hangi paketlerin başlatıldığını (başlatılmadığını), ihraç edilen hizmetleri vs. inceleyebileceğiniz osgi konsolunu verir. Mevcut komutların bir listesini almak için help yazın.

+0

ben takdir bu yararlı post cevabını buldu senin cevap. Komut satırımı önerdiğin seçenekleri eklemek için değiştirdim. Paketlerin ve hizmetlerin durumunu kontrol etmek, "tembel", "aktif" ve "çözümlenmiş" gibi değerleri döndürür ve şu anda bunun ne anlama geldiğini anlamıyorum, bu yüzden önümde bazı araştırmalar var gibi görünüyor. Görebildiğim kadarıyla normal görünüyor. – JasonK

+0

Demetlerinizin bağımlılıklarının doğru çözülüp çözülmediğini görmek için diag komutunu kullanabilirsiniz. Eğer öyleyse, demetleri başlatma komutuyla başlatmayı deneyin. – mbelow

İlgili konular