Отстраняване на грешки в очарователни проекти в Netbeans

Опитвам се да отстраня грешки в проект за чар. Зададох точки на прекъсване в кода, но всеки път, когато изпълнението достигне точка на прекъсване, Netbeans замръзва и аз съм длъжен да го затворя принудително. Колкото и да си струва, използвам Ubuntu 15.04

[Редактиране 1]

Ето изображение на зададена точка на прекъсване

въведете описание на изображението тук

Получавам изключение: Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException, което не сочи към нито един ред в моя код, така че искам да отстраня грешки и да разбера какво причинява проблема. Веднага кодът стига до ред 106, всичко замръзва.

[Редактиране 2]

Добре, тук е по-голямата част от кода на контролера.

public void initialize(URL url, ResourceBundle rb) {

        departmentList.setPlaceholder(new Label("Oops!! EMPTY!!!"));

        /*
         Populate SideMenu
         */
        ObservableList<Label> schools = FXCollections.observableArrayList();
        ListView<Label> schoolList = new ListView<>(schools);
        for (School school : schoolsList) {
            schools.add(new Label(school.getName(), MaterialDesignIcon.ACCOUNT_BALANCE.graphic()));
        }
        /*
         Add Listeners to side Menu ListView
         */
        schoolList.getSelectionModel().selectedItemProperty().addListener(
                (ObservableValue<? extends Label> observable, Label oldValue, Label newValue) -> {
                    selectedSchool = parser.findSchool(newValue.getText());
                    loadDepartments();
                    MobileApplication.getInstance().hideLayer("Side Menu");

                });

        /*
         Add Listener to departments ListView
         */
        departmentList.getSelectionModel().selectedItemProperty().addListener(
                (ObservableValue<? extends Label> observable, Label oldValue, Label newValue) -> {

                    if (newValue == null) {//Got fired by clearing the Observable list
                        return;
                    }
                    System.out.println(newValue);
                    facDept[1] = newValue.getText();
                    /*
                     Reset before leaving; *to be removed and tried on mobile
                     */
                    loadDepartments();
                    MobileApplication.getInstance().switchView(SEMESTER_VIEW);
                });
        borderPane.setCenter(schoolList);
        center.getChildren().add(departmentList);
    }

    @FXML
    private void showLayer(ActionEvent event) {
        MobileApplication.getInstance().showLayer("Side Menu");
    }

Зададох точка на прекъсване в метода showLayer (MobileApplication...) и отстраняването на грешки работи. Зададох друг ред selectedSchool = parser.findSchool(newValue.getText());, но тук отстраняването на грешки замръзва. Имайте предвид, че изключението не се среща тук.


person theking    schedule 27.11.2015    source източник
comment
Отстраняването на грешки работи добре за мен в проект Charm, с NetBeans на моя Mac. Не мога да тествам на Linux. Как стартирате отстраняването на грешки?   -  person José Pereda    schedule 27.11.2015
comment
Стартирам отстраняване на грешки с бутона за отстраняване на грешки до бутона за изпълнение или щракнете с десния бутон върху проекта и изберете отстраняване на грешки. Всъщност не само Netbeans замръзва. ОС също замръзва, мога да движа мишката, но не мога да щракам. Принудително излизам от работещата програма с помощта на клавиатурата.   -  person theking    schedule 28.11.2015
comment
Можете ли да отстраните грешки в друг JavaFX проект? И проект JavaFXPorts (без зависимости на Charm)? Задавате ли някаква точка на прекъсване?   -  person José Pereda    schedule 28.11.2015
comment
Да; Мога да отстранявам грешки както в JavaFX, така и в прости JavaFXPorts проекти. Netbeans не замръзва в точките на прекъсване.   -  person theking    schedule 28.11.2015
comment
Трудно е да се каже, ако не покажете къде се забива. Тествах отстраняването на грешки в Charm без никакъв проблем. Можете ли да покажете някакъв код, където сте задали точката на прекъсване?   -  person José Pereda    schedule 28.11.2015
comment
Редактирах въпроса, за да покажа точката на прекъсване.   -  person theking    schedule 28.11.2015
comment
След като имате изключение, не съм сигурен как ще реагира дебъгерът. Предлагам ви първо да използвате някакъв try-catch, за да изолирате изключението.   -  person José Pereda    schedule 28.11.2015
comment
@JoséPereda Реших проблема с IndexOutOfBoundsException, като използвах решението от тази публикация, но все още не реших проблема с отстраняването на грешки. Опитах се да отстраня грешки в пробата FiftyStates и срещнах същия проблем.   -  person theking    schedule 04.12.2015