Отладка Eclipse - строка: не доступный

Я, может казаться, ничего не нахожу на Google, говоря мне, почему это могло бы быть и каково разрешение. Я Ступаю через сторонний код (что у меня есть источник для), и действительно хотел бы видеть, что текущая строка выполняется...

Смотрение javac компилирует флаги, я вижу флаг-g:none. Если бы этот флаг установлен, этого было бы достаточно для объяснения, почему я не могу видеть номера строки? Если так, почему кто-то сделал бы это, есть ли последствия производительности? Я должен перекомпилировать банку сам для присоединения недостающей информации об отладке (если возможный)?

Спасибо!

9
задан Mike 21 May 2010 в 20:58
поделиться

2 ответа

Глядя на флаги компиляции javac, я вижу флаг -g: none. Если этот флаг установлен, будет ли этого достаточно, чтобы объяснить, почему я не вижу номеров строк?

Да, это причина.

Если так, зачем кому-то это делать?

Возможно, автор библиотеки хотел сделать свою банку как можно меньше. Производительность не сильно изменится, если вы компилируете без ключа -g: none .

8
ответ дан 4 December 2019 в 21:48
поделиться

Я предполагаю, что это может сказаться на производительности, но отладочная информация определенно увеличит ваши файлы классов. Так что это еще одна мотивация.

Кроме того, компании, которые хотят защитить свой исходный код, часто не компилируют отладочную информацию, чтобы сделать дизассемблирование (обратный инжиниринг) менее ценным для кого-то столь заинтересованного (по этой же причине некоторые компании скрывают свой байт-код).

Очевидно, что если источник доступен вам, вышеуказанный пункт не имеет значения. Если код с открытым исходным кодом, у вас не должно возникнуть особых проблем с компиляцией библиотеки (в конце концов, любой другой участник должен уметь это делать!). И да, это ваш лучший вариант на данный момент.

1
ответ дан 4 December 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: