Отладка библиотеки ежевики - PullRequest
1 голос
/ 26 августа 2010

У меня есть рабочее пространство со следующими 3 проектами: GUI библиотечных тестов

Тесты попадают только в библиотеку.Это проект BB с типом, установленным как «библиотека». Все мои тесты, похоже, работают и попадают в код.Если я отлаживаю тесты с помощью JUnit, я могу перейти к функции в моей библиотеке, просмотреть мои переменные и все нормальные качества отладки.

Я создал графический интерфейс и включил библиотеку в путь сборки Required Projects.

Проблема, с которой я столкнулся, - попытка отладки библиотеки через графический интерфейс на симуляторе.Когда я отлаживаю приложение, я могу найти свое приложение достаточно легко.Прямо сейчас это одна кнопка, которая делает простой вызов в библиотеку.

Например, что-то вроде:

FieldChangeListener checkListener = new FieldChangeListener() { public void fieldChanged(Field field, int context) {
LibraryClass lc = new LibraryClass();
Dialog.Alert("Class loaded");
}};

Если я поставлю точку останова на LibraryClass lc = new LibraryClass () Затмение сломается при нажатии кнопки.

Если я перешагну через этот метод, ничего не произойдет.Код никогда не переходит к строке Dialog.Alert ().

Если я попытаюсь войти в конструктор и посмотреть, что там висит, ничего не произойдет.Eclipse никогда не вмешивается.

Сначала я подумал, что, может быть, это какая-то проблема синхронизации, когда потоку GUI нужно было что-то делать, и поэтому мой библиотечный вызов был потерян.

Я попытался создать класс, который реализует Runnable, чтобы я мог вызывать ThreadClass.Run () и иметь класс THAT для запуска библиотечных вызовов.Но он ведет себя так же.

Не было выброшено никаких исключений, просто кажется, что оно ушло с края Земли.

Кто-нибудь имеет какие-либо идеи или видел что-нибудь подобное?Это проблема конфигурации на симуляторе, где нет библиотеки?Я что-то упустил очевидное?

1 Ответ

1 голос
/ 30 августа 2010

Оказывается, очевидно, мой библиотечный вызов выбрасывает NoClassDefFoundError

Это не исключение, просто ошибка.Так что, очевидно, мое приложение просто проглотило ошибку.К сожалению, трассировка стека в блоке catch пуста, поэтому я точно не знаю, где это происходит.Но, по крайней мере, это больше информации, чем у меня было раньше.

Обнаружил ошибку.Blackberry компилировал против jdk 1.6, который преобразовывал конкатенацию строк в StringBuilder.Однако JRE не поддерживает StringBuilder.Я изменил структуру компиляции на 1.4, и все работало нормально.

Я опубликовал весь процесс в моем блоге .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...