Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / внешний декомпилятор с сохранением нумерации строк. / 25 сообщений из 26, страница 1 из 2
17.09.2014, 15:55
    #38749332
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Декомпильнул либу декомпилятором c названием jd-gui.exe

эта хрень наменяла номера строк. Посоветуйте как вернуть строчки на место, а то дебагать неудобно.
...
Рейтинг: 0 / 0
17.09.2014, 16:00
    #38749339
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Пересобрать либу из декомпиленых исходников.
...
Рейтинг: 0 / 0
17.09.2014, 16:18
    #38749367
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Blazkowicz,

а это идея.

А если в лоб, то есть варианты всё таки?
...
Рейтинг: 0 / 0
17.09.2014, 16:27
    #38749385
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Blazkowicz,
вообще они дают путь к свн:

http://svn.apache.org/repos/asf/sling/trunk

но как понять какая ревизия соответствует какой версии проекта?
...
Рейтинг: 0 / 0
17.09.2014, 16:31
    #38749391
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90вообще они дают путь к свн:
Кто они?

redwhite90но как понять какая ревизия соответствует какой версии проекта?
Как-то так?
http://svn.apache.org/repos/asf/sling/tags/
...
Рейтинг: 0 / 0
17.09.2014, 16:32
    #38749393
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90вообще они дают путь к свн:

То есть ты даже на http://grepcode.com не пробовал искать? Сразу декомпилировать?
...
Рейтинг: 0 / 0
17.09.2014, 16:35
    #38749400
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Blazkowicz,

меня интересует org.apache.sling.commons.log-2.1.3-R1232904

там вообще нет 2.1.3 никакой
...
Рейтинг: 0 / 0
17.09.2014, 16:45
    #38749420
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Blazkowicz,



где искать промежуточные версии?

а этот грепкод это контейнер всех популярных репозиториев что ли?
...
Рейтинг: 0 / 0
17.09.2014, 16:46
    #38749423
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90Blazkowicz,
меня интересует org.apache.sling.commons.log-2.1.3-R1232904
там вообще нет 2.1.3 никакой

Можно попробовать
http://svn.apache.org/repos/asf/sling/branches/Sling_Component_API/log/
разапдейтить в ревизию 1232904
...
Рейтинг: 0 / 0
17.09.2014, 16:55
    #38749434
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Blazkowicz,

тут такое дело - когда я еклипсу скармливал ...src.jar - он понимал о чем речь.

Когда я ему на зачекаутенную папку указываю - не понимает. Может куда-то в другое место надо указать?
...
Рейтинг: 0 / 0
17.09.2014, 17:00
    #38749440
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90где искать промежуточные версии?
Я фиг его знает. 2.1.3 нет ни в Maven, ни в Downloads. Откуда она такая красивая нарисовалась, вопрос не ко мне.

redwhite90а этот грепкод это контейнер всех популярных репозиториев что ли?
Может из мавена тянет. Я не вникал.
...
Рейтинг: 0 / 0
17.09.2014, 17:12
    #38749459
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Blazkowicz,

авторЯ фиг его знает. 2.1.3 нет ни в Maven, ни в Downloads. Откуда она такая красивая нарисовалась, вопрос не ко мне.

нам поставляют платформу, которая в свою очередь использует такой вот джарничек.

А вообще если говорить глобально, то как это организовано? почему некоторые версии не выкладывают для всеобщего использования?
...
Рейтинг: 0 / 0
17.09.2014, 17:14
    #38749463
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90А вообще если говорить глобально, то как это организовано? почему некоторые версии не выкладывают для всеобщего использования?
Как вариант, уже был публичный релиз 3.х, а 2.1.3 это апдейт с фиксми для комерческого саппорта. Лучше на ресурсах проекта поспрашивай, если так интересно.
...
Рейтинг: 0 / 0
17.09.2014, 17:15
    #38749467
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90Blazkowicz,

меня интересует org.apache.sling.commons.log-2.1.3-R1232904

там вообще нет 2.1.3 никакой

в snapshots репозитарии есть

http://repository.apache.org/content/groups/snapshots/org/apache/sling/org.apache.sling.commons.log/
...
Рейтинг: 0 / 0
18.09.2014, 02:35
    #38749892
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90Декомпильнул либу декомпилятором c названием jd-gui.exe
эта хрень наменяла номера строкВ настройках потыкать?
...
Рейтинг: 0 / 0
19.09.2014, 19:45
    #38752003
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Basil A. Sidorov,

а это классное замечание
...
Рейтинг: 0 / 0
19.09.2014, 21:22
    #38752089
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
redwhite90Декомпильнул либу декомпилятором c названием jd-gui.exe

эта хрень наменяла номера строк. Посоветуйте как вернуть строчки на место, а то дебагать неудобно.
Думаю что эффект зависит от ключей компилляции.

Код: java
1.
2.
3.
4.
5.
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info



А вообще ... как правильно сказали - зайди на сайт разрабов и зачекай сорцы. Так надёжне.
Я пытался как-то реверс-инженерить OracleJDBC drivers. Мне было интересно посмотреть как
реализованы некоторые штуки. Но наткнулся на кейсы когда jd-gui создаёт некомпилирующийся выхлоп.
Если интересно и мне не будет лениво - могу найти.
...
Рейтинг: 0 / 0
19.09.2014, 21:23
    #38752090
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Среды разработки по дефолту генерят all debuggin info.
...
Рейтинг: 0 / 0
20.09.2014, 03:19
    #38752243
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Восстановление исходного текста не зависит от наличия или отсутствия отладочной информации.
Отладочная информация влияет только на человечность имён переменных . Ну и на возможность простановки номеров строк :)
...
Рейтинг: 0 / 0
22.09.2014, 10:07
    #38753251
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Basil A. SidorovВосстановление исходного текста не зависит от наличия или отсутствия отладочной информации.
Отладочная информация влияет только на человечность имён переменных . Ну и на возможность простановки номеров строк :)
не только.

например переменные в watch можно не увидеть при дебаге.
http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-is
...
Рейтинг: 0 / 0
22.09.2014, 11:34
    #38753313
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Чтобы "не увидеть переменную" достаточно атрибута final и это не зависит от наличия отладочной информации.
...
Рейтинг: 0 / 0
22.09.2014, 20:18
    #38753947
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Насколько я разобрался, в режимах g:lines, g:all в бинарь включается маппинг между номером строки в исходнике
и offset инструкции опкода в методе.

Пруф привожу. Финальная переменная кстати тоже нашла отражение в таблице локальных переменных. Хотя в сборке g:all инициализировалась раньше. Возможно это форсирование возможности наблюдать ее значение в Watch до того как
она будет первый раз использована.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class testDebug{

	public static void main(String[] args){
                final int a=5;
		int x=2;
		int y=3;
		int z=x+y;
		x--;
		y++;
		z=a;
        }

}



testDebug.jasm (with g:lines option)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Code:
      stack=2, locals=5, args_size=1
         0: iconst_2      
         1: istore_2      
         2: iconst_3      
         3: istore_3      
         4: iload_2       
         5: iload_3       
         6: iadd          
         7: istore        4
         9: iinc          2, -1
        12: iinc          3, 1
        15: iconst_5      
        16: istore        4
        18: return        
      LineNumberTable:
        line 5: 0
        line 6: 2
        line 7: 4
        line 8: 9
        line 9: 12
        line 10: 15
        line 11: 18



testDebug.jasm (with g:all option)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
// ...... тот же самый код что и в g:lines с добавлением описания локальных переменных.
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
               0      21     0  args   [Ljava/lang/String;
               2      19     1     a   I
               4      17     2     x   I
               6      15     3     y   I
              11      10     4     z   I
...
Рейтинг: 0 / 0
22.09.2014, 22:22
    #38754026
redwhite90
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Basil A. SidorovЧтобы "не увидеть переменную" достаточно атрибута final и это не зависит от наличия отладочной информации.

ну судя по вопросу http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-is человек пытался посмотреть нефинальную переменную в debug и у него не получилось....поставляемая jdk скомпилена без debug информации.
...
Рейтинг: 0 / 0
23.09.2014, 08:57
    #38754207
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Если переменная нефинальная и компилятор её не заоптимизировал, то переменная будет видна, но под каким-то автоматически созданным именем.
С оптимизаций кода, как вы сами понимаете, бороться странно.
...
Рейтинг: 0 / 0
23.09.2014, 12:48
    #38754496
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешний декомпилятор с сохранением нумерации строк.
Попробуем подебажить в режиме g:none. Поставим брейкпойнт на строку #4.
Это как раз на инициализации финальной переменной.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
c:\java_soft\testDebug>jdb testDebug
Initializing jdb ...
>
>
> stop at 4
Usage: stop at <class>:<line_number> or
       stop in <class>.<method_name>[(argument_type,...)]
> stop at testDebug:4
Deferring breakpoint testDebug:4.
It will be set after the class is loaded.
>
>
> run
run testDebug
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
 VM Started: Unable to set deferred breakpoint testDebug:4 : No linenumber information for testDebug.  Try compiling with debugging on.

Stopping due to deferred breakpoint errors.
"thread=main", java.lang.Class.getDeclaredMethods0(), line=-1 bci=-1
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / внешний декомпилятор с сохранением нумерации строк. / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]