2010-08-26 1 views
1

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

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

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

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

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

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

Если я ставлю точку останова на ЖХ LibraryClass = новый LibraryClass() Затмение будет врываться на кнопки.

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

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

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

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

Исключений нет, кажется, что он ушел с конца Земли.

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

ответ

1

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

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

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

Я отправил весь процесс в my blog.