首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NullPointerException代理启动应用程序时使用BTrace

使用NullPointerException代理启动应用程序时使用BTrace
EN

Stack Overflow用户
提问于 2010-11-20 15:05:31
回答 1查看 822关注 0票数 0

我使用的是BTrace 1.2,并遵循BTrace网站的用户指南。在使用命令运行程序时使用BTrace没有问题:

代码语言:javascript
复制
btrace <pid> AllMethods.class

但是,当我尝试使用BTrace代理启动应用程序时,可以使用以下两种方法之一:

代码语言:javascript
复制
java -javaagent:btrace-agent.jar=noServer=true,debug=true,script=AllMethods.class,scriptOutputFile=out.trace test/Test

代码语言:javascript
复制
btracer AllMethods.class test/Test

我得到了NullPointerException on SimpleFileOutput

代码语言:javascript
复制
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输出,那么编辑就可以了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-20 15:37:27

事实证明,scriptOutputFile的路径必须是绝对的,因此将scriptOutputFile=out.trace更改为scriptOutputFile=./out.trace解决了问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4233345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档