索尼爱立信JP-7 j2me调试

the*_*kas 14 java debugging java-me

我正在尝试在我的索尼爱立信K790i上调试J2ME应用程序,这是一台带有最新Netbeans,J2ME SDK,Sony SDK等的Windows XP上的JP-7手机.

我可以通过USB连接并使用SE Device Explorer.当我从设备资源管理器启动我的应用程序时,它只提供一个异常名称(ArrayOutOfBoundsException)和一个带有"unknown"列表的调用堆栈.有没有办法将调用堆栈转换为过程和行#?有没有办法创建调试二进制文件或任何方式来获得更多提示?我的应用程序在模拟器上正常启动.它甚至可以安装在手机上,但是当我运行它时,它完全没有信息而崩溃.

我甚至试过使用我的手机支持的On Device Debug但是我得到OAFcode = 45 EXEcode = 28并且调试会话永远不会启动.虽然它确实在我的手机中创建了一个tempNNNN应用程序.

任何有用的想法都是受欢迎的.

小智 1

当您在调用堆栈中遇到未知的异常时,该异常来自 Java 运行时环境。由于 SE OSE 手机上的闪存空间有限,大多数调试信息都会被删除。可以获取调用堆栈的地址(它通过线路传输,但由 DeviceExplorer 映射到“未知”),但它对您没有多大好处,因为您没有地址映射来转换地址。

IIRC 有一个文本文档描述了 sdk 中包含的不同错误代码。查找 oafcodes.txt 或类似的内容。

另外,如果您使用 Netbeans:当您在 Netbeans 中创建新项目时,我相信它默认为 MIDP 2.1。K790是老手机了,只支持2.0。如果您尝试在 MIDP 2.1 SE 之前的手机上安装 2.1 应用程序,它就会崩溃。