eXeL@B —› Основной форум —› Java: странная ошибка после изменения байткода |
Посл.ответ | Сообщение |
|
Создано: 29 сентября 2012 22:47 · Личное сообщение · #1 Столкнулся с некой странностью: после изменения кода единственного класса моей древней тестовой программы её запуск становится невозможным. Вылет происходит при любом изменении кода. Даже простое пересохранение через BCEL, JavaBite или dirtyJOE приводит к неработоспособности программы. Вылета не вызывает только редактирование констант при помощи HEX-редактора. Попытка изменения кода всё ломает. Хотя декомпилируется без ошибок.. Программа примитивна, 5 строк кода. HelloWorld... Компилировал тупо командой Javac test.java. В чём может быть проблема? |
|
Создано: 29 сентября 2012 23:23 · Личное сообщение · #2 |
|
Создано: 29 сентября 2012 23:51 · Личное сообщение · #3 Ок В архиве 2 файла. Test.jar - исходное приложение. В test1.jar в класс-файл добавлен 1 nop, и программа перестала работать. 2ca8_29.09.2012_EXELAB.rU.tgz - test.7z |
|
Создано: 30 сентября 2012 00:02 · Личное сообщение · #4 |
|
Создано: 30 сентября 2012 00:07 · Личное сообщение · #5 |
|
Создано: 30 сентября 2012 00:37 · Личное сообщение · #6 |
|
Создано: 30 сентября 2012 01:45 · Поправил: 4kusNick · Личное сообщение · #7 IDOL 1234 Не хватает атрибутов LineNumberTable StackMapTable После редакторивания они не сохраняются почему-то, стоит попробовать добавить руками. Правда не факт, что проблема в них, т.к. это по идее для дебага надо. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: igorca, IDOL 1234 |
|
Создано: 30 сентября 2012 14:25 · Личное сообщение · #8 Я пробовал компилировать без генерации отладочной информации, всё то же самое. Может ли быть причиной неисправность JDK на моём компьютере? Попробую посмотреть, что именно оно не сохраняет, но не думаю, что смогу справиться самостоятельно.. Всё-таки со структурой class-файла мне ещё не приходилось работать. |
|
Создано: 01 октября 2012 00:22 · Личное сообщение · #9 |
eXeL@B —› Основной форум —› Java: странная ошибка после изменения байткода |