J'utilise le programme JBE (Java Bytecode Editor) http://set.ee/jbe. Je suis en train de compiler bytecode .class fichier, mais il continue à produire des erreurs dues (bien que je suis ne change rien)Java Bytecode compilation "Erreur de syntaxe à la ligne, instruction"
Error: Syntax error at line 3088, instruction "wide"
Error: Syntax error at line 3090, instruction "wide"
Error: Syntax error at line 3096, instruction "wide"
Cela fait partie de l'original:
new os
dup
sipush 399
bipush 42
invokespecial os/<init>(II)V
astore 255
ldc "center_tile_s"
invokestatic nz/cX(Ljava/lang/String;)Lor;
wide
astore 256
wide
aload 256
ldc 0.85
invokevirtual oi/j(F)V
aload 255
ldc "layer_591"
wide
aload 256
invokevirtual os/b(Ljava/lang/String;Loi;)V
ldc "center_tile_s"
invokestatic nz/cX(Ljava/lang/String;)Lor;
wide
astore 257
wide
aload 257
ldc 0.85
invokevirtual oi/j(F)V
wide
aload 257
iconst_0
bipush 20
invokevirtual oi/p(II)V
aload 255
ldc "layer_592"
wide
aload 257
invokevirtual os/b(Ljava/lang/String;Loi;)V
Il peut être utile d'avoir des numéros de ligne ainsi que des informations sur la version Java cible. – hotzst
Avez-vous essayé de mettre les instructions larges sur une seule ligne? par exemple. 'large astore 256'. C'est probablement un bug dans JBE. Quoi qu'il en soit, si vous voulez un assembleur/désassembleur de bytecode qui supporte entièrement chaque fonctionnalité de classfile et qui a de meilleurs messages d'erreur, il y a toujours Krakatau. – Antimony
Je pense que c'est le problème que j'ai. J'ai résolu une autre erreur en fusionnant plusieurs lignes. Je vais mettre à jour bientôt. Je vous remercie. –