줄 번호 (자바 파일에서와 같이)를 레이블 오프셋에서 가져 오는 방법이 있습니까?ASM 바이트 코드 - 레이블 오프셋에서 줄 번호 가져 오기
@Override
public void visitLabel(Label label){
super.visitLabel(label);
mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out",
"Ljava/io/PrintStream;");
mv.visitLdcInsn("line " + label.getOffset() + " executed");
mv.visitMethodInsn(INVOKEVIRTUAL, "java/io/PrintStream", "println",
"(Ljava/lang/String;)V", false);
}
나는 각 레이블을 방문 할 때 lebel.getOffset를 인쇄 할 MethodVisitor에서 visitLabel 방법을 덮어왔다. 정수 값을 얻지 만 java 파일의 행 번호와 같지 않습니다.
그렇지 않으면 디버깅이 작동하지 않습니다 (어떤 용도로 사용되는지) –
레이블 오프셋에서 줄 번호를 추출하는 방법을 제안 할 수 있습니까? TIA – maddie
디버깅 정보로 컴파일 한 경우 줄 번호가 있어야합니다. –