|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Добрый день. Есть самописная библиотека. Она работает в старом приложении. В новом вызываю, выдает ошибку: Код: java 1. 2. 3. 4. 5. 6.
как понять, что ей не хватает? Я пишу на jython 2.7 . подключаю и вызываю так: Код: python 1. 2. 3.
до этого были другие ошибки, то файл не положила в нужном месте, то переменную не того типа передаю. Эти ошибки исправила и в итоге последняя (я так думаю). Что с ней делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 10:38 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
поняла, что ошибка в строке 135 исходного кода. Но исходного кода у меня нет, сотрудник, который писал библиотеку давно уволился, исходников не оставил. Я class файл декодировала в помощью JAD. Но понять, какая строка соответствую 135 строке трудно. Подозреваю, что этот декодированный файл я должна включить в проект на java, переписать вызов функции на java и смотреть, что произойдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 11:38 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Диана Орел, Нет исходников - переписать. Взлом форуме не обсуждают ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 12:29 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, да, вы правы, чем разбираться в чужом коде, проще самому написать. Казалось, один шаг остался, а оказалось - пропасть. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 13:20 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Диана Орел, Нет исходников - переписать. Взлом форуме не обсуждают https://www.sql.ru/forum/rules.aspx - да, "Запрещается: ... *публикация серийных ключей, лицензий, способов взлома ПО и других методов, которые можно квалифицировать как преследуемые по закону". Надо иметь в виду, что: Третья часть статьи 1280 Гражданского Кодекса предусматривает, что декомпиляция компьютерных программ может осуществляться свободно, то есть без получения согласия правообладателей программного обеспечения, но для этого требуется соблюдение некоторых условий. Условия свободной декомпиляции Законодатель устанавливает следующие условия свободного использования компьютерных программ, посредством декомпиляции: Лицо, желающее осуществить декомпиляцию, должно владеть соответствующей компьютерной программой правомерно, то есть приобрести ее законным путем; Целью декомпиляции является достижение взаимодействия программного обеспечения, созданного лицом, правомерно владеющим компьютерной программой, с этой компьютерной программой; Информация, которая должна быть получена в результате декомпиляции, не должна быть доступной из открытых или иных источников; Действия, направленные на декомпиляцию должны производиться только в отношении тех частей компьютерной программы, которые необходимы для достижения взаимодействия данной компьютерной программы с другим программным обеспечением; Информация, полученная в результате декомпиляции, не может быть переданной для использования третьими лицами, за исключением случаев, когда это является необходимым условием взаимодействия декомпилируемой компьютерной программы с другим программным обеспечением; Декомпиляция не должна носить неоправданный характер, например декомпиляция, совершенная с целью создания нового программного обеспечения будет считаться незаконной; Декомпиляция не должна наносить ущерб компьютерной программе и нарушать исключительные права ее правообладателей. Но "свою" (здесь - того же самого предприятия) программу декомпировать, очевидно, можно безусловно. Тема декомпиляции Java довольно любопытна. К сожалению, то, что мне попадалось в руки (в далёкие времена), работало некорректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 15:25 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Victor Metelitsa, Понятно что есть тонкости. Но декомпиляция это прикрытие головотяпства а не разработка. Можно конечно, но в свободное время и под кроватью. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 15:38 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Диана Орел поняла, что ошибка в строке 135 исходного кода. Но исходного кода у меня нет, сотрудник, который писал библиотеку давно уволился, исходников не оставил. Я class файл декодировала в помощью JAD. Но понять, какая строка соответствую 135 строке трудно. Подозреваю, что этот декодированный файл я должна включить в проект на java, переписать вызов функции на java и смотреть, что произойдёт. Насколько я помню, IDEA в отладчика умеет декомпилировать код и явно должно показывать точку возникновения ошибки Запустите программу под отладчиком и посмотрите, где возникает exception. Запустить отладчик можно и удаленно, отладчик на одном компьютере, отлаживаемый код на другом (вплоть до прода, хотя это уже экстрим). Как запускать отладчик и какие ключи нужны для удаленной отладки - то уже в смотреть в документации (инетах) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 15:49 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Но декомпиляция это прикрытие головотяпства а не разработка. Не все так очевидно ( C ) дочь офицера Например внедряли Oracle CC&B, без декомпиляции было бы вообще полная засада. Т.к. в большинстве технических вопросов код значительно более понятная вещь, что отсутвующая документации. Часть кода поставлялось (например Cobol), но код на ядро системы нет, а понять детали тонкостей вызова и детали передачи параметров - было необходимо. Не так давно пришлось править баги в старой приблуде, исходники которого от головотяпста потеряли. Ну ладно, декомпильнул. В чем проблема в декомпиляции, если с ее помощью можно решить проблему - мне не очень понятно. Понятно, что лучше быть богатым и здоровым пользоваться оригинальными исходниками, но если их нет, то декомпилятор хоть как-то помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 15:54 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Согласен. Зависит от причины. Я работал в фирме, где купили разработку ПО, а наличие исходников просто забыли добавить в ТЗ. Пришлось выкинуть 3 года работы и писать по новой проект. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 16:03 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Victor Metelitsa, Понятно что есть тонкости. Но декомпиляция это прикрытие головотяпства а не разработка. Можно конечно, но в свободное время и под кроватью. Мы живём далеко не в идеальном мире. А что случилось, то случилось. И странно советовать писать программу для своей конторы (то есть, выполнять служебные обязанности) за счёт своего свободного времени, да ещё и под кроватью. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 16:21 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Диана Орел поняла, что ошибка в строке 135 исходного кода. Но исходного кода у меня нет, сотрудник, который писал библиотеку давно уволился, исходников не оставил. Я class файл декодировала в помощью JAD. Но понять, какая строка соответствую 135 строке трудно. Подозреваю, что этот декодированный файл я должна включить в проект на java, переписать вызов функции на java и смотреть, что произойдёт. Насколько точно декомпиляторы типа Jad восстанавливают исходники? Пробелы, переносы строк - все сохраняется? Не делается ли какая оптимизация при компиляции, из-за которой нельзя восстановить оригинальный *.java? Попробовал на простом классе - все вроде ок, если не считать добавленную служебную информацию в начало файла. Если восстанавливается все до символа - то найти нужную строку вроде не сложно ... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 16:31 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Разумеется не до символа. Как минимум теряется информация о именах локальных переменных. Кроме того, насколько я помню, часто у JAD не получается востановить блоки обработки исключений try...catch, получается просто не компилируемый код (но можно дорабатать руками). Вот отладчик IDEA, скорее всего, правильно покажет с правильной нумерацией строк. Для этого он и отладчик. (не декомпилирует, с точностью до строки, а просто правильно покажет правильную нумерацию) IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 17:26 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Victor Metelitsa, Я же сделал акцент на программист-РАЗРАБОТЧИК. Есть еще системщик, прикладник,... Если вы разработчик то декомпиляция не ваши служебные обязанности. Можно и тонер в принтерах менять). Кому что нравится. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 17:52 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Если вы разработчик то декомпиляция не ваши служебные обязанности. А чьи? Вводить дополнительные должности: архитектор-шредерист, программист-бакспейсе, обратный девопс? Девопс - копирует файлики с дева на прод, обратно копировать он не умеет "не его служебные обязанности" Обратный девопс - специальная професия для копирования файлов с прода ))), иногда в процессе работы такое требуется программист-бекспейсер - и так все понятно. Программист пишет код, программист-бекспейсер делает прямо обратное - нажимает кнопку Del или Backspace. Нужная профессия. Обычному программусту нужно запретить нажимать эту кнопку! На то должен быть отдельный человек. Один пишет - другой удаляет. и так далее и тому подобная Специализация залог эффективной работы! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 18:19 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev А чьи? Ну ведь при устройстве на работы ты спрашиваешь чем будешь заниматься. Легаси, стартап, скриптовый фреймворк вместо ЯП,,.... Если это разовая декомпиляция это одно. Если постоянная работа с легаси без исходников "за еду" это другое )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 19:05 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Специализация залог эффективной работы! Капитализм победил коммунизм. Голливуд победил Мосфильм своей специализацей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 19:10 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Читайте труды Адама Смита (18 век) как завещал А.С.Пушкин. Специализация определяется объемом рынка сбыта и производства. Если рынок сбыта маленький, то что консультант по внедрение ERP системы на фирме по выращиванию цветков кактусов, что на ферме по разведению ежей - одно и то же. И те и те с колючками, т.ч. в поверпоинте бизнес процессы не сильно менять придется ))) работа с легаси без исходников "за еду" ну вот и определились, что единственная разница в том, что: после доширака, не забудьте потребовать будерброд с намазанным маслом! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2022, 19:17 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Диана Орел Код: python 1. 2. 3.
до этого были другие ошибки, то файл не положила в нужном месте, то переменную не того типа передаю. Эти ошибки исправила и в итоге последняя (я так думаю). Что с ней делать? Если "самописная" библиотека работала в старом приложении то значит она - рабочая. Дай более полный твой исходник. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 00:12 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Диана Орел поняла, что ошибка в строке 135 исходного кода. Но исходного кода у меня нет, сотрудник, который писал библиотеку давно уволился, исходников не оставил. Я class файл декодировала в помощью JAD. Но понять, какая строка соответствую 135 строке трудно. Подозреваю, что этот декодированный файл я должна включить в проект на java, переписать вызов функции на java и смотреть, что произойдёт. Насколько я помню, IDEA в отладчика умеет декомпилировать код и явно должно показывать точку возникновения ошибки Запустите программу под отладчиком и посмотрите, где возникает exception. Запустить отладчик можно и удаленно, отладчик на одном компьютере, отлаживаемый код на другом (вплоть до прода, хотя это уже экстрим). Как запускать отладчик и какие ключи нужны для удаленной отладки - то уже в смотреть в документации (инетах) Запускала в Eclipse, не показывает исходники, пишет, что нет исходных файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 11:11 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Диана Орел, Он про Eclipse ничего не говорил ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 11:20 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
IDEA Communite Edition (бесплатный) - точно показывать/декомпилировать умеет. Пользовался лет 5-ть назад. Про современные версии не знаю, но не думаю, что эту возможность стали бы отключать Можно конечно руками декомпильнуть JAD'ом, скомпилировать обратно, подложить в .JAR файл - но это мне кажется более сложным путем. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 11:45 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
mayton Диана Орел Код: python 1. 2. 3.
до этого были другие ошибки, то файл не положила в нужном месте, то переменную не того типа передаю. Эти ошибки исправила и в итоге последняя (я так думаю). Что с ней делать? Если "самописная" библиотека работала в старом приложении то значит она - рабочая. Дай более полный твой исходник. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210.
Программа посылает сообщение на почту, можно прикреплять файлы, название которых начинается с определенного префикса, а так же, должен быть указан путь, по которому эти файлы лежат. Можно послать сообщение без файлов. переписала на java, так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 12:19 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Скопировал ваш код в Eclipse, 135 строка здесь: ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 13:10 |
|
Что означает ошибка java.lang.NullPointerException?
|
|||
---|---|---|---|
#18+
Получается, что Код: java 1.
, что невозможно. Скорее всего при декомиляции немного поехали строки, но не думаю что сильно. Т.е. проблему нужно искать в строках рядом от 135-ой. Из подозрительного - переменная Код: java 1.
. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2022, 13:27 |
|
|
Start [/forum/topic.php?fid=59&msg=40134073&tid=2120241]: |
0ms |
get settings: |
28ms |
get forum list: |
9ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
49ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
915ms |
get tp. blocked users: |
2ms |
others: | 161ms |
total: | 1196ms |
0 / 0 |