Java Kodunu Assembly Görüntüleme
Java kodunu derlerken konsolda assembly halini görmek hoş olabilir. Bunun için yapmak gereken kodu debug mode'da build etmek ve parametre olarak
-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly -server
vermek. Bunu verince şu hata çıkabilir:
Could not load hsdis-i386.dll; library not loadable; PrintAssembly is disabled
Benim makinem Windows x86 olduğu için hsdis-i386.dll'i aradı. Bunun yerine başka versiyon dll yok derse (örn. hisdis-amd64.dll) ilgili dll internetten bulunabilir. İhtiyaç duyulan hsdis-i386.dll şu adreste mevcut:
http://www.ssw.jku.at/General/Staff/LS/hsdis-i386.zip
Zip'i açıp içindeki dll'i, Java>jdk>jre>bin 'e kopyalamak gerekiyor. Bunu da yapınca artık bir sorun kalmamalı. Programı debug mode'da derleyip çıktısı gözlenebilir..
Not: Yazılan kod çok basit/kısa olursa assembly üretilmeyebilir. Az karmaşıklaştırmak lazım.
http://alexshabanov.com/2011/12/29/print-assembly-for-java/
http://classparser.blogspot.com/2010/03/hsdis-i386dll.html
http://stackoverflow.com/questions/9449088/seeing-a-java-programs-native-assembly-code-whats-the-easiest-way-in-window
0 Yorum