'com.sun.btrace.compiler.Verifier' 的受支持 source 版本 'RELEASE_6' 低于 -source '1.8'

java 代码

package com.gupao.edu.vip.course.chaper6;


import java.io.BufferedReader;
import java.io.InputStreamReader;

public class BTraceTest {
    public int add(int a, int b){
        return a + b;
    }

    public static void main(String args[]) throws Exception{
        BTraceTest test = new BTraceTest();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        for(int i = 0; i < 1000; i++){
            reader.readLine();
    		int a = (int)Math.round(Math.random() * 1000);
    		int b = (int)Math.round(Math.random() * 1000);
    		System.out.println(test.add(a, b));
            System.out.println(test.init());
        }
    }

    public String init(){
        return "init";
    }
}

JVisualVM端的代码


import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;
 
@BTrace
public class TracingScript {
	/* put your code here */
    @OnMethod(
         clazz = "com.gupao.edu.vip.course.chaper6..BTraceTest", 
         method = "init", 
         location = @Location(Kind.RETURN))
    public static void func(@Self com.gupao.edu.vip.course.chaper6.BTraceTest instance, @Return String result){
        println(" Call Stack ");
       // jstack();
//     println(strcat(" Parameter A ", str(a)));
//     println(strcat(" Parameter B ", str(b)));
        println(strcat(" Parameter Result ", str(result)));
    }     
}

用Btrace start时报了如下的错误:

* Starting BTrace task
** Compiling the BTrace script ...
来自注释处理程序 'com.sun.btrace.compiler.Verifier' 的受支持 source 版本 'RELEASE_6' 低于 -source '1.8'
!!! Error occured
!!! Error occured

原因是运行时的版本(jdk.18)跟我系统的版本(jdk1.6)不一致,修改为一致即可,用的笔记本时都是jdk 1.8.

你可能感兴趣的:(Btrace,JVisualVM)