Module has preverify error

Сегодня пофиксил багу, которая выражалась в том, что успешно скомпилированный проект при запуске на BlackBerry Bold или даже на симуляторе, выдавал сообщение «Module bla-bla-bla has preverify error 3141».

После пары дней секса с preverify от RIM и preverify от WTK, выяснилось что проблема, разумеется, никак с ними не связана. Я удивлен, почему нельзя было сделать нормальное сообщение об ошибке типа «Unexpected error occurred», чтобы не вводить людей в заблуждение.

Эту ошибку можно продиагностировать с помощью дебаггера JDE. Нужно подключить устройство, приаттачить дебаггер и запустить злосчастное приложение на девайсе. В консоли дебаггера при появлении этого сообщения появится название метода и класса.

У меня данная ошибка возникает из-за перегрузки метода makeMenuWithContext(…), который хоть и является не совсем документированным, но на него есть много ссылок в BlackBerry API.

И поскольку, данный метод действительно существует в net_rim_api.jar для JDE 4.6.0, то всё компилируется нормально.

Сегодня напишу в RIM злобное письмо.

Оставьте комментарий

Ваш e-mail не будет опубликован.