Sony ericsson JP-7 отладка j2me
Я пытаюсь отлаживать приложение J2ME на своем Sony Ericsson K790i, которое является телефоном JP-7 в Windows XP с последними Netbeans, J2ME SDK, Sony SDK и т.д.
Я могу подключить USB и использовать SE Device Explorer. Когда я запускаю свое приложение из проводника устройств, он просто дает имя исключения (ArrayOutOfBoundsException) и стек вызовов со списком "неизвестно". Есть ли способ перевести стек вызовов в процедуру и строку #? Есть ли способ создать отладочный двоичный файл или любой способ получить немного больше намеков?
Мое приложение начинает нормально работать на эмуляторе. Он даже прекрасно устанавливается на телефоне, но когда я запускаю его, он разбился без информации вообще.
Я даже пытался использовать On Device Debug, который поддерживает мой телефон, но я получаю OAFcode = 45 EXEcode = 28, и сеанс отладки никогда не запускается. Хотя он создает приложение tempNNNN в моем телефоне.
Любые идеи, которые могут помочь, приветствуются.
Ответы
Ответ 1
Когда вы получаете исключение с неизвестными в стоп-кадре, исключение исходит из среды выполнения Java. Из-за ограниченного количества флэш-памяти на телефонах SE OSE большая часть отладочной информации лишается. Можно получить адреса callstack (он передается по проводу, но сопоставлен с "неизвестным" DeviceExplorer), но это не принесет вам много пользы, поскольку у вас нет адресной карты для перевода адресов.
IIRC есть текстовый документ, описывающий различные коды ошибок, включенные в sdk. Найдите oafcodes.txt или что-то в этом роде.
Кроме того, если вы используете Netbeans: когда вы создаете новые проекты в Netbeans, я считаю, что по умолчанию это MIDP 2.1. K790 - старый телефон, он поддерживает только 2.0. Предварительно телефоны MIDP 2.1 SE будут просто заблокированы, если вы попытаетесь установить на него 2.1 приложения.
Ответ 2
Если вы можете увидеть исключение, вы увидите всю трассировку стека, если вы распечатаете его, и вы определите, почему и где проблема. Может быть, когда вы развернули/создали приложение на свой телефон, у вас есть свойства компилятора, используемые отключенным отладчиком (например: добавьте атрибуты номера строки и т.д.)?
Я не знаю, что это означает список "неизвестных" исключений.
Обычно вы можете видеть в полном стеке, вызванном исключении, методе класса и строке, которая вызывает проблему.
Кстати, вы пытались использовать KDWP? Это кажется отличным решением. В этот протектор люди говорят об отладке на устройстве.