【问题标题】:most efficient way to debug on Blackberry device?在黑莓设备上进行调试的最有效方法?
【发布时间】:2012-03-27 13:21:15
【问题描述】:

我正在寻找最快、最有效的方式来调试我的 BlackBerry 的 java 应用程序。

我注意到,在我的案例中使用 Torch 9800 将调试器连接到设备需要很长时间。每次更改代码时都必须附加它,还是有更好的方法?

我还注意到,在控制台中,设备似乎正在打印很多我并不真正关心的内容。筛选所有这些真的很痛苦。有没有办法在控制台中只查看与我的应用程序相关的内容,特别是我自己打印到它的内容?

【问题讨论】:

  • 嗯,我正在开发 BB 应用程序 1 年,但我没有找到任何使调试更容易的东西。

标签: debugging blackberry java-me


【解决方案1】:
  1. Eclipse 调试器和分析器,在大多数情况下 - 最佳解决方案,但在某些情况下,它无助于找出问题根源。

  2. 通过 EventLogger 类写入内部设备日志。作为一种选择,如果有大量数据 - 外部文本文件,位于设备媒体卡(不是内部设备文件系统)上。

  3. 使用控制台输出窗口。不幸的是,没有办法在控制台输出上应用过滤器,但是有一种方法可以让控制台的工作变得更容易。在调试消息的开头添加符号序列,以区分您的调试打印输出和系统打印输出。比如

    System.out.println("!!!!!!!!!!!!!!!!!!!!!!!! myVar value = " + myVar);

或者那样:

System.out.println("#############################################");
System.out.println("############# object1: " + object1);
System.out.println("############# object2: " + object2);
System.out.println("############# object3: " + object3);
System.out.println("#############################################");

当控制台中有大量调试数据时,只需将所有控制台文本复制到文本编辑器中,例如 Notepad++ 并在那里进行处理。

【讨论】:

  • 谢谢。我已经开始在我的打印输出前放置一堆符号。这肯定有帮助,但我们无法过滤仍然很糟糕。我也使用 Eclipse 进行 Android 开发,但我有这个选项,非常有用。
  • 关于第 3 点,我也经常这样做。 grep 整个日志并仅获取您的输出很方便(如果您手头有一个 linux VM)。不幸的是,有时系统消息会与您自己的输出行混在一起,主要是在这些很长的情况下。
【解决方案2】:

是的,大多数现代模拟器上的调试器都需要很长时间才能附加。模拟器越新,花费的时间就越多。我通常做的是:

  • 尽量在较旧的模拟器(通常是 83xx)中进行繁重的调试。
  • 如果不可能,请启动模拟器并且不要关闭它。此hot swap 功能仅适用于 Eclipse BlackBerry 插件 5.0 及更高版本。
  • 由于热插拔,您可以启动模拟器(带有运行配置),然后按下调试按钮。这比从头开始调试要快得多。
  • 使用旧版本的 eclipse 插件(热插拔不可用)或为操作系统 附加到 -> 模拟器)。您不能在断点处停止,但您可以看到文本输出。 JDE不自带eclipse插件,请自行download自行安装。

【讨论】:

  • 感谢回复,我已经放弃在模拟器上调试,一直在我的设备(Torch 9800)上进行调试。我发现模拟器并不“总是”表现得真实。
  • 那我建议你使用JDE附加到真实设备并实时查看输出,而不必打开事件日志。同样通过这种方式,您可以看到System.out.println 而不仅仅是日志条目。旧的 eclipse 插件允许这样做只是推送调试,但新的插件版本每次都重新安装应用程序,所以它比使用 JDE 慢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
相关资源
最近更新 更多