调试黑莓库

时间:2010-08-26 12:47:50

标签: eclipse debugging blackberry

我有一个包含以下3个项目的工作区: 图书馆 测试 GUI

测试只打到了图书馆。这是一个类型设置为“library”的BB项目 我的所有测试似乎都在工作并且打了代码。如果我使用JUnit调试测试,我可以进入我的库中的函数,查看我的变量和所有正常的调试优度。

我创建了GUI并将库包含在Required Projects构建路径中。

我遇到的问题是尝试通过模拟器上的GUI调试库。当我调试应用程序时,我可以轻松找到我的应用程序。现在它只是一个按钮,可以简单地调用库。

例如:

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

如果我在LibraryClass上放置一个断点lc = new LibraryClass()Eclipse将按下按钮。

如果我跨过这个方法没有任何反应。代码永远不会前进到Dialog.Alert()行。

如果我试着进入构造函数,看看那里挂着什么,没有任何反应。 Eclipse永远不会介入。

起初我想也许这是某种时间问题,GUI线程需要做某事,所以我的库调用丢失了。

我尝试创建一个实现Runnable的类,以便我可以调用ThreadClass.Run()并让THAT类启动库调用。但它的行为是一样的。

没有例外,只是它似乎走出了地球的尽头。

有没有人有任何想法或看到过这样的事情?这是模拟器上的配置问题吗?它不包括库?我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

事实证明,我的图书馆电话显然正在抛出NoClassDefFoundError

这不是一个例外,只是一个错误。显然我的应用程序只是吞下了错误。不幸的是,catch块上的堆栈跟踪是空的,所以我不确定它到底发生了什么。但至少比我以前有更多的信息。

发现错误。 Blackberry正在编译jdk 1.6,它将字符串连接转换为StringBuilder。但是,JRE不支持StringBuilder。我将编译框架更改为1.4,一切正常。

我将整个过程发布在my blog