2012-03-27 34 views
7

Szukam najszybszego i najskuteczniejszego sposobu debugowania mojej aplikacji Java dla BlackBerry.najbardziej skuteczny sposób debugowania na urządzeniu Blackberry?

Zauważyłem, że ma zawsze tylko dołączyć debugera do urządzenia, za pomocą Torch 9800 w moim przypadku. Czy muszę go dołączać za każdym razem, gdy dokonuję zmiany w moim kodzie, czy jest lepszy sposób?

Zauważyłem również, że w konsoli, urządzenie wydaje się być drukowanie wiele rzeczy tak naprawdę nie obchodzi. Przesiewanie tego wszystkiego może być naprawdę uciążliwe. Czy istnieje sposób, aby zobaczyć tylko rzeczy istotne dla mojej aplikacji w konsoli, w szczególności tylko rzeczy, które sam na nią wydrukuję?

+2

Dobrze Zajmuję BB aplikacje na okres 1 roku, ale nie znalazłem niczego, co sprawia, że ​​debugowanie łatwiejsze. –

Odpowiedz

8
  1. Eclipse debugger i profiler, w większości przypadków - to najlepsze rozwiązanie, ale w niektórych przypadkach to nie pomaga, aby dowiedzieć się co jest źródłem problemu.

  2. Pisząc do wewnętrznego dziennika urządzenia za pośrednictwem klasy EventLogger. Opcjonalnie, jeśli istnieje ogromna ilość danych - zewnętrzny plik tekstowy, umieszczony na karcie pamięci urządzenia (nie system plików urządzenia wewnętrznego).

  3. Korzystanie okno wyjściowe konsoli. Niestety nie ma możliwości zastosowania filtru na wyjściu konsoli, ale jest sposób na ułatwienie pracy z konsolą. Dodaj sekwencję symboli na początku komunikatów debugowania, aby odróżnić wydruki debugowania od tych systemowych. Na przykład

    System.out.println ("!!!!!!!!!!!!!!!!!!!!!!! wartości MyVar =" + myVar);

Albo ten sposób:

System.out.println("#############################################"); 
System.out.println("############# object1: " + object1); 
System.out.println("############# object2: " + object2); 
System.out.println("############# object3: " + object3); 
System.out.println("#############################################"); 

Kiedy jest duża ilość danych debugowania w konsoli po prostu skopiować cały tekst konsoli do edytora tekstu, jak Notepad++ i pracować z nim tam.

+1

Dzięki. Już zacząłem umieszczać garść symboli przed moimi wydrukami. To na pewno pomaga, ale nadal nie możemy filtrować. Robię też programowanie w Androidzie używając Eclipse, ale mam tę opcję, bardzo przydatną. – PaulG

+0

O punkcie 3 używam tego samego.Dogodnie jest przeglądać cały dziennik i uzyskiwać tylko dane wyjściowe (jeśli masz pod ręką maszynę wirtualną Linuxa). Niestety czasami komunikaty systemowe są mieszane z własnymi liniami wyjściowymi, głównie gdy są długie. –

5

Tak, debugger na większości współczesnych symulatorów trwa wiecznie, aby dołączyć. Im nowszy symulator, tym więcej czasu zajmuje. Zwykle robię to:

  • Spróbuj przeprowadzić intensywne debugowanie w starszym symulatorze (często 83xx).
  • Jeśli nie jest to możliwe, uruchom symulator i nie zamykaj go. Ta funkcja hot swap jest dostępna tylko od wersji 5.0 w wtyczce Eclipse BlackBerry.
  • Dzięki funkcji "hot swap" można uruchomić symulator (z konfiguracją uruchamiania), a następnie nacisnąć przycisk debugowania. Jest znacznie szybszy niż uruchomienie debugowania od samego początku.
  • Podczas pracy ze starszymi wersjami wtyczki eclipse, w której nie jest dostępna funkcja "hot swap" lub kodowania dla OS < 5.0, uruchom symulator z Eclipse z uruchomieniem, a następnie otwórz RIM JDE (tak, to staromodny Java IDE z RIM) i dołącz stamtąd debuggera (menu Debuguj -> Dołącz do -> symulatora). Nie można zatrzymać się w punktach przerwania, ale można zobaczyć wynik tekstowy. JDE nie ma wtyczki eclipse, powinieneś download zainstalować i niezależnie.
+1

Dzięki za odpowiedź, porzuciłem debugowanie na symulatorach i debugowałem wyłącznie na moim urządzeniu (Latarka 9800). Uważam, że symulatory nie "zawsze" działają realistycznie. – PaulG

+0

Następnie sugeruję, aby użyć JDE do podłączenia do prawdziwego urządzenia i zobaczyć dane wyjściowe w czasie rzeczywistym, zamiast konieczności otwierania dziennika zdarzeń. Również w ten sposób można zobaczyć 'System.out.println', a nie tylko wpisy do dziennika. Starsze wtyczki zezwalały na to, pchając debugowanie, ale nowsze wersje wtyczek ponownie instalują aplikację za każdym razem, więc jest wolniejsza niż w przypadku JDE. –

Powiązane problemy