Ці можна праглядаць Java файлы класаў

Я працую на байткод маніпуляцыі/пакаленьні ў Java, і мне было проста цікава, калі ёсць просты спосаб, якім я мог бы праверыць байткод. Я не хачу, каб дэкампіляваць файл, я хацеў бы рэальна зірнуць на скампіляваны байт-код. Мне не трэба, каб змяніць яго. Любыя спасылкі або праграмы зрабіць гэта было б прымальным адказы.

15
паспрабуйце javap -c файлы класы
дададзена аўтар Satya, крыніца
паспрабуйце javap -c файлы класы
дададзена аўтар Satya, крыніца
@Popgalop javap -v паказвае байткод - гл мой адказ ніжэй.
дададзена аўтар Oak, крыніца
@Popgalop javap -v паказвае байткод - гл мой адказ ніжэй.
дададзена аўтар Oak, крыніца
@Popgalop javap -v паказвае байткод - гл мой адказ ніжэй.
дададзена аўтар Oak, крыніца
Я думаю, што javap з'яўляецца тое, што вы шукаеце. Каманда, якая пастаўляецца з JDK.
дададзена аўтар Marko Topolnik, крыніца
Звычайна вы можаце зрабіць гэта прама з вашага IDE. Можа быць, з невялікай дапамогай плагіна.
дададзена аўтар maba, крыніца
не то не паказаць усе ByteCode толькі палі і метады
дададзена аўтар Popgalop, крыніца
не то не паказаць усе ByteCode толькі палі і метады
дададзена аўтар Popgalop, крыніца

12 адказы

Так як вы хочаце, каб арыентавацца на нейкую праграму, якая можа лёгка паказаць вам байт-код, то маю прапанову выкарыстоўваць IntelliJ IDEA, так як ён мае убудаваную падтрымку для прагляду байт-код.

Вось прыклад таго, як гэта зрабіць (гэта таксама можа быць супастаўлена з некаторымі клавішамі выбару):

enter image description here

enter image description here

Гэта вельмі лёгка, і гэта, безумоўна, можа быць зроблена ў зацьменні або NetBeans, а таксама.

41
дададзена
Гэта таксама даступна ў Android студыі? Прынамсі, для класаў compield для віртуальнай машыны Java (напрыклад, лакальных модульных тэстаў і г.д.).
дададзена аўтар PSIXO, крыніца
@PSIXO я не ведаю, я толькі выкарыстоўваю IntelliJ як ёсць.
дададзена аўтар maba, крыніца
звярніце ўвагу, што для гэтага патрабуецца ByteCode прагляду убудова
дададзена аўтар Ciprian Tomoiagă, крыніца
@voipp LineNumber 10 L2 азначае, што код на лініі нумар 10 знаходзіцца на этыкетцы L2 . Такім чынам, L0 , L1 і г.д., этыкеткі, гэта значыць пункту пераходу ў вашай праграме. У байткод няма ніякіх функцый або завес, ёсць толькі скокі (якія могуць быць умоўна). Такім чынам, уся праграма звязка Калі гэта GO there_1; Калі што GO there_2
дададзена аўтар Ciprian Tomoiagă, крыніца
дзе нумары радкоў? Што L0, L1 .. значыць ????
дададзена аўтар voipp, крыніца
<�Код> javap -c выводзіць штосьці зусім іншае, нешта значна прасцей. Ці ёсць спосаб, каб паглядзець, што добра?
дададзена аўтар Nearoo, крыніца

Так як вы хочаце, каб арыентавацца на нейкую праграму, якая можа лёгка паказаць вам байт-код, то маю прапанову выкарыстоўваць IntelliJ IDEA, так як ён мае убудаваную падтрымку для прагляду байт-код.

Вось прыклад таго, як гэта зрабіць (гэта таксама можа быць супастаўлена з некаторымі клавішамі выбару):

enter image description here

enter image description here

Гэта вельмі лёгка, і гэта, безумоўна, можа быць зроблена ў зацьменні або NetBeans, а таксама.

41
дададзена
Гэта таксама даступна ў Android студыі? Прынамсі, для класаў compield для віртуальнай машыны Java (напрыклад, лакальных модульных тэстаў і г.д.).
дададзена аўтар PSIXO, крыніца
@PSIXO я не ведаю, я толькі выкарыстоўваю IntelliJ як ёсць.
дададзена аўтар maba, крыніца
звярніце ўвагу, што для гэтага патрабуецца ByteCode прагляду убудова
дададзена аўтар Ciprian Tomoiagă, крыніца
@voipp LineNumber 10 L2 азначае, што код на лініі нумар 10 знаходзіцца на этыкетцы L2 . Такім чынам, L0 , L1 і г.д., этыкеткі, гэта значыць пункту пераходу ў вашай праграме. У байткод няма ніякіх функцый або завес, ёсць толькі скокі (якія могуць быць умоўна). Такім чынам, уся праграма звязка Калі гэта GO there_1; Калі што GO there_2
дададзена аўтар Ciprian Tomoiagă, крыніца
дзе нумары радкоў? Што L0, L1 .. значыць ????
дададзена аўтар voipp, крыніца
<�Код> javap -c выводзіць штосьці зусім іншае, нешта значна прасцей. Ці ёсць спосаб, каб паглядзець, што добра?
дададзена аўтар Nearoo, крыніца

Так як вы хочаце, каб арыентавацца на нейкую праграму, якая можа лёгка паказаць вам байт-код, то маю прапанову выкарыстоўваць IntelliJ IDEA, так як ён мае убудаваную падтрымку для прагляду байт-код.

Вось прыклад таго, як гэта зрабіць (гэта таксама можа быць супастаўлена з некаторымі клавішамі выбару):

enter image description here

enter image description here

Гэта вельмі лёгка, і гэта, безумоўна, можа быць зроблена ў зацьменні або NetBeans, а таксама.

41
дададзена
Гэта таксама даступна ў Android студыі? Прынамсі, для класаў compield для віртуальнай машыны Java (напрыклад, лакальных модульных тэстаў і г.д.).
дададзена аўтар PSIXO, крыніца
@PSIXO я не ведаю, я толькі выкарыстоўваю IntelliJ як ёсць.
дададзена аўтар maba, крыніца
звярніце ўвагу, што для гэтага патрабуецца ByteCode прагляду убудова
дададзена аўтар Ciprian Tomoiagă, крыніца
@voipp LineNumber 10 L2 азначае, што код на лініі нумар 10 знаходзіцца на этыкетцы L2 . Такім чынам, L0 , L1 і г.д., этыкеткі, гэта значыць пункту пераходу ў вашай праграме. У байткод няма ніякіх функцый або завес, ёсць толькі скокі (якія могуць быць умоўна). Такім чынам, уся праграма звязка Калі гэта GO there_1; Калі што GO there_2
дададзена аўтар Ciprian Tomoiagă, крыніца
дзе нумары радкоў? Што L0, L1 .. значыць ????
дададзена аўтар voipp, крыніца
<�Код> javap -c выводзіць штосьці зусім іншае, нешта значна прасцей. Ці ёсць спосаб, каб паглядзець, што добра?
дададзена аўтар Nearoo, крыніца

Не ўпэўнены, што менавіта вам трэба, але акрамя javap , які з'яўляецца інструментам каманднага радка для адлюстравання байткод, вы паглядзіце на Javassist , ASM і CGLIB - яны дазваляюць аналізаваць байткод з Java кодам.

6
дададзена

Не ўпэўнены, што менавіта вам трэба, але акрамя javap , які з'яўляецца інструментам каманднага радка для адлюстравання байткод, вы паглядзіце на Javassist , ASM і CGLIB - яны дазваляюць аналізаваць байткод з Java кодам.

6
дададзена

Не ўпэўнены, што менавіта вам трэба, але акрамя javap , які з'яўляецца інструментам каманднага радка для адлюстравання байткод, вы паглядзіце на Javassist , ASM і CGLIB - яны дазваляюць аналізаваць байткод з Java кодам.

6
дададзена

The javap command-line tool, which is bundled with Oracle's JDK, gives a detailed textual dump of .class files along with the constant pool and all functions' bytecode content. Just run it with -v to get a full dump.

2
дададзена
@Popgalop, што кампілятар счытвае фактычныя байты-код, які не з'яўляецца тэкставым фарматам. Я думаю, вы маглі адкрыць яго ў шаснаццатковым рэдактары і выкарыстоўваць
дададзена аўтар Oak, крыніца
але я хачу бачыць, што кампілятар чытае, калі ён чытае файл, так што я магу ствараць свае ўласныя сінтэтычныя класы.
дададзена аўтар Popgalop, крыніца

The javap command-line tool, which is bundled with Oracle's JDK, gives a detailed textual dump of .class files along with the constant pool and all functions' bytecode content. Just run it with -v to get a full dump.

2
дададзена
@Popgalop, што кампілятар счытвае фактычныя байты-код, які не з'яўляецца тэкставым фарматам. Я думаю, вы маглі адкрыць яго ў шаснаццатковым рэдактары і выкарыстоўваць
дададзена аўтар Oak, крыніца
але я хачу бачыць, што кампілятар чытае, калі ён чытае файл, так што я магу ствараць свае ўласныя сінтэтычныя класы.
дададзена аўтар Popgalop, крыніца

The javap command-line tool, which is bundled with Oracle's JDK, gives a detailed textual dump of .class files along with the constant pool and all functions' bytecode content. Just run it with -v to get a full dump.

2
дададзена
@Popgalop, што кампілятар счытвае фактычныя байты-код, які не з'яўляецца тэкставым фарматам. Я думаю, вы маглі адкрыць яго ў шаснаццатковым рэдактары і выкарыстоўваць
дададзена аўтар Oak, крыніца
але я хачу бачыць, што кампілятар чытае, калі ён чытае файл, так што я магу ствараць свае ўласныя сінтэтычныя класы.
дададзена аўтар Popgalop, крыніца

Я працаваў на декомпилятор , які мае рэжым высновы байткод каляровай кадоўкай (які я знаходжу значна больш зручным для чытання, чым javap). Ён таксама можа выводзіць Java-код або прамежкавы «байткод АСТ».

2
дададзена

Я працаваў на декомпилятор , які мае рэжым высновы байткод каляровай кадоўкай (які я знаходжу значна больш зручным для чытання, чым javap). Ён таксама можа выводзіць Java-код або прамежкавы «байткод АСТ».

2
дададзена

Я працаваў на декомпилятор , які мае рэжым высновы байткод каляровай кадоўкай (які я знаходжу значна больш зручным для чытання, чым javap). Ён таксама можа выводзіць Java-код або прамежкавы «байткод АСТ».

2
дададзена