Angezeigter bytebuddy Bytecode

8

Ich verwende ByteBuddy, um eine Klasse zur Laufzeit mit dynamisch erzeugtem Byte-Code zu erstellen. Die generierte Klasse tut das, was sie tun soll, aber ich möchte den erzeugten Byte-Code manuell überprüfen, um sicherzustellen, dass er korrekt ist.

Zum Beispiel

%Vor%

wobei MyImplementation mehrere StackManipulation-Befehle zusammenfasst, um den dynamisch generierten Code zu erstellen.

Kann ich die generierte Klasse in eine Datei schreiben (damit ich sie manuell mit einer IDE untersuchen kann) oder den Bytecode für die generierte Klasse anderweitig ausdrucken?

    
bramp 16.06.2015, 05:25
quelle

2 Antworten

11

Sie können die Klasse als .class-Datei speichern:

%Vor%

Dieser Code erstellt c:/temp/Foo.class .

    
saka1029 16.06.2015, 09:18
quelle
2

Nachfolgend finden Sie ein Beispiel zum Speichern der Bytes der generierten Klasse in einem Byte-Array. Und wie die Klasse im Dateisystem gespeichert und von diesem Array instanziiert werden kann.

%Vor%     
SubOptimal 16.06.2015 07:12
quelle

Tags und Links