BCEL로 런타임에 Arguments(매개변수들) 캡쳐하는 Instruction 추가하기.
·
Study/BCI&BCEL&ASM
Bcel 을 처음 다룰 당시에 만들었던 간단한 매개변수 출력하는 BCEL transform이다. 상당히 다듬어지지않은 막코드라서 감안해서 볼 필요가있다. 핵심부분은 밑줄과 주석을 달겠다. 이전글(http://blog.sanguneo.com/21) 에서 premain 을 이용한 javaagent 사용법은 간략하게 배웠는데. BCEL을 여기에 접목시킨다는것은 조금 고차원적인 접근이 필요하다.(필자의 생각) 우선적으로 소스를 펼치기에 앞서 이론설명을 하자면 자바의 .class 파일은 완전하계 기계어(?)로 번역된것이 아닌, 그렇다고 소스형태도아닌 그 중간어딘가의 형태로 볼수있다. javac 명령어를 실행하면 소스파일을 java컴파일하면 class 파일로 뱉어내게되는데, 이 class파일이 ByteCode의 목..
BCEL 중요용어 및 사용법 간단 소개.
·
Study/BCI&BCEL&ASM
Field // 변수와 비슷한, 저장공간 등의 개념으로 볼 수 있다. LocalVariable // 메소드의 지역변수를 나타내며, 메소드 프레임 내의 스코프, 이름, 시그네쳐, 인덱스를 포함한다. Attribute // 상수값, 소스파일, 코드, Exceptiontable, LineNumberTable, LocalVariableTable, InnerClasses 등이 있음. ConstantPool // 클래스나 인터페이스의 이름, 필드명 등의 클래스파일 구조와 서브구조로부터 참조가능한 모든 상수를 담고있는 구조. Instruction(~= Byte Code) // 자바 바이트코드로 되어있는 절차. InstructionFactory // 컴파일러의 뒷단에서 바이트코드를 생성하는 것 이라고 되어있으며 Ins..