有没有办法从标签偏移量获取行号(如在java文件中)?
@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);
}
我已经覆盖了MethodVisitor中的visitLabel方法,以便在访问每个标签时打印lebel.getOffset。我得到一些整数值,但它们与java文件中的行号不同。
答案 0 :(得分:0)
您需要创建自定义映射。参考标签访问每个行号,并按照它们出现的顺序访问每个标签。你需要: