BTrace 1.2を使用しており、BTrace websiteのユーザーガイドに従っています。私は何の問題のコマンドでプログラムを実行する上でBTraceを使用していない:BTraceエージェントを使用してアプリケーションを起動するとNullPointerExceptionが発生する
btrace <pid> AllMethods.class
をしかし、私はどちらか使用してBTrace剤を用いてアプリケーションを起動しようとすると:
java -javaagent:btrace-agent.jar=noServer=true,debug=true,script=AllMethods.class,scriptOutputFile=out.trace test/Test
または
btracer AllMethods.class test/Test
を私はNullPointerException
を取得しますon SimpleFileOutput
:
btrace DEBUG: debugMode is true
btrace DEBUG: unsafeMode is false
btrace DEBUG: dumpClasses is false
btrace DEBUG: stdout is false
btrace DEBUG: probe descriptor path is .
btrace DEBUG: initial script is AllMethods.class
btrace DEBUG: scriptOutputFile not specified. defaulting to AllMethods.class.btrace
btrace DEBUG: java.lang.NullPointerException
java.lang.NullPointerException
at com.sun.btrace.agent.TraceOutputWriter$SimpleFileOutput.<init>(TraceOutputWriter.java:46)
at com.sun.btrace.agent.TraceOutputWriter.fileWriter(TraceOutputWriter.java:185)
at com.sun.btrace.agent.Main.loadBTraceScript(Main.java:334)
at com.sun.btrace.agent.Main.parseArgs(Main.java:267)
at com.sun.btrace.agent.Main.main(Main.java:117)
at com.sun.btrace.agent.Main.premain(Main.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:323)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
btrace DEBUG: parsed command line arguments
btrace DEBUG: noServer is true, server not started
BTRACE_HOMEパスが設定されています。私はトリックを逃していますか?私も、運がないリリース1.1.3を使って試しました。
助けてください。
EDIT 私はdebug=false
とstdout=true
を設定し、コンソールに出力scriptOutputFile=out.trace
を取り除く場合は、正常に動作します。