2010-11-20 10 views
0

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를 얻을 수 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을 사용하여 노력했다.

도와주세요.


편집 내가 debug=falsestdout=true를 설정하고 콘솔에 scriptOutputFile=out.trace 출력을 제거하면 잘 작동합니다.

답변

1

scriptOutputFile의 경로가 절대적 일 필요가 있으므로 scriptOutputFile=out.trace에서 scriptOutputFile=./out.trace으로 변경하면 문제가 해결됩니다.