Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 在Blackberry设备上调试最有效的方法?_Debugging_Blackberry_Java Me - Fatal编程技术网

Debugging 在Blackberry设备上调试最有效的方法?

Debugging 在Blackberry设备上调试最有效的方法?,debugging,blackberry,java-me,Debugging,Blackberry,Java Me,我正在寻找最快、最有效的方法来调试我的黑莓java应用程序 我注意到,在我的例子中使用Torch 9800将调试器连接到设备上需要花费很长时间。我每次修改代码时都必须附加它,还是有更好的方法 我还注意到,在控制台中,设备似乎正在打印很多我并不真正关心的东西。筛选这一切真的很痛苦。有没有办法在控制台中只查看与我的应用程序相关的内容,特别是我自己打印到其中的内容 在大多数情况下,Eclipse调试器和分析器是最好的解决方案,但在某些情况下,它无助于找出问题的根源 通过EventLogger类写入内部

我正在寻找最快、最有效的方法来调试我的黑莓java应用程序

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

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

  • 在大多数情况下,Eclipse调试器和分析器是最好的解决方案,但在某些情况下,它无助于找出问题的根源

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

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

    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("#############################################");
    

    当控制台中有大量调试数据时,只需将所有控制台文本复制到文本编辑器中,就像并在那里使用它一样。

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

    • 尽量在旧的模拟器中进行繁重的调试(通常是83xx)
    • 如果不可能,启动模拟器,不要关闭它。此功能仅适用于eclipse BlackBerry插件中5.0以后的版本
    • 由于热插拔,您可以启动模拟器(使用运行配置),然后按下调试按钮。它比从一开始就启动调试要快得多
    • 在使用旧版本的eclipse插件时,如果无法使用热插拔,或者在OS<5.0的情况下进行编码,请使用run从eclipse启动模拟器,然后打开RIM JDE(是的,老式的RIM制作的Java IDE)并从那里附加调试器(调试菜单->附加到->模拟器)。不能在断点中停止,但可以看到文本输出。JDE不附带eclipse插件,您应该独立安装它
    我开发BB应用已经一年了,但是我没有发现任何能让调试更容易的东西。谢谢你的回复,我已经放弃了在模拟器上调试,只在我的设备上调试(Torch 9800)。我发现模拟器并不“总是”实际运行。然后我建议您使用JDE连接到真实设备并实时查看输出,而不必打开事件日志。同样,通过这种方式,您可以看到
    System.out.println
    ,而不仅仅是日志条目。旧的eclipse插件只允许按debug执行此操作,但新的插件版本每次都会重新安装应用程序,因此比使用JDE慢。谢谢。我已经开始在打印件前放上一堆符号。这当然有帮助,但我们无法过滤仍然很糟糕。我也使用Eclipse进行Android开发,但我有这个选项,非常有用。关于第3点,我也使用它。对整个日志进行grep并只获取您的输出(如果您手头有linux虚拟机)是很方便的。不幸的是,有时系统消息与您自己的输出行混合在一起,大多数情况下是在这些输出行很长的时候。