2010-07-28 11 views
6

Mam projekt Java, który debuguję w NetBeans (wersje 6.8 i 6.9) i nie jestem w stanie wejść lub przekraczać kodu. Mogę ustawić tylko punkty przerwania, a następnie przejść do punktów przerwania. To nie jest bardzo wygodne. Chciałbym móc przejść przez kod bez ustawiania wszystkich punktów przerwania i uruchamiania ich. Załączam do JVM, ponieważ nie można go uruchomić w NetBeans (jest uruchamiany przez program C za pośrednictwem JNI). Czy istnieje problem związany z dołączaniem do maszyny JVM?Dlaczego nie mogę przejść do/nad kodem źródłowym Java w NetBeans Debugger?

Jeśli zdarzy się, że spróbuję wkroczyć/przekroczyć linię kodu, debugger się zawiesza (przycisk pauzy jest wyłączony) i jedyną opcją jest odłączyć/zakończyć sesję debugowania.

+0

Nie mam rozwiązania, tylko wyświetlenia. Czasami widzę rzeczy podobne do netbeans. Myślę, ale nie jestem pewien, ponieważ źródłem w projekcie nie jest ta sama wersja lub to samo źródło co działa. Ponadto czasami usuwaj .netbeans/6.x/var/cache. – Istao

Odpowiedz

7

Po uzyskaniu punktu przerwania i włamaniu do kodu Java. Spróbuj:

  1. Window -> Debugging -> Źródła
  2. dodać/Potwierdź katalogu głównym źródeł Java jest ustawiony jako 'źródło root'.
+0

Widziałem to bardzo podczas używania projektów typu freeform w Netbeans. Musisz dodać katalog źródłowy do okien debugowania. Może być konieczne usunięcie i ponowne dodanie punktów przerwania. –

1

Po utracie tak dużej ilości czasu ustawiania punktów przerwania i uruchamiania lub korzystania z Debug \ Debug Project, miałem szczęście. W menu Debugowanie właśnie wybrałem opcję "Step Into" i IDE zaczął uruchamiać mój kod krok po kroku, podświetlając aktywną linię i wyszarzając podświetlenie, gdy wymagana jest reakcja użytkownika. (Korzystanie z powyższej sugestii wyłączania kodu src Java bardzo pomaga również.)

0

Widziałem to zachowanie w JEDNYM projekcie dostarczonym z książką JSP. Krok po kroku sprawował się dobrze w innych projektach, ale w jednym konkretnym projekcie wykonanie "Krok po kroku" spowodowało, że uruchomiono go do następnego punktu przerwania zamiast do następnego wiersza.

Prześledziłem problem z różnicami we właściwości debug.classpath w pliku project.properties.

Bad projekt miał to: debug.classpath = $ {build.classes.dir.real}: $ {javac.classpath}: $ {j2ee.platform.classpath}

Dobre projekty z etapem pracy nad zamiast tego: debug.classpath = $ {javac.classpath}: $ {build.classes.dir}

Zmiana opcji debug.classpath naprawiła problem.

Powiązane problemy