[讨论] 关于Btrace的问题
miroku
2013-08-20
最近在使用btrace的时候,老是无法成功,查了资料试了各种办法都没解决,只好在这里发一帖问一下了。
btrace 版本: 1.2.2 java 版本: java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode btrace脚本 : #! /bin/sh export JAVA_HOME="/data/jdk1.6.0_29/" if [ -z "$BTRACE_HOME" -o ! -d "$BTRACE_HOME" ] ; then # resolve links - $0 could be a link to btrace's home PRG="$0" progname=`basename "$0"` BTRACE_HOME=`dirname "$PRG"`/.. BTRACE_HOME=`cd "$BTRACE_HOME" && pwd` fi if [ -f "${BTRACE_HOME}/build/btrace-client.jar" ] ; then if [ "${JAVA_HOME}" != "" ]; then case "`uname`" in Darwin*) # In Mac OS X, tools.jar is classes.jar and is kept in a # different location. Check if we can locate classes.jar # based on ${JAVA_VERSION} TOOLS_JAR="/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Classes/classes.jar" # if we can't find, try relative path from ${JAVA_HOME}. Usually, # /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home # is JAVA_HOME. (or whatever version beyond 1.6.0!) if [ ! -f ${TOOLS_JAR} ] ; then TOOLS_JAR="${JAVA_HOME}/../Classes/classes.jar" fi # If we still can't find, tell the user to set JAVA_VERSION. # This way, we can avoid zip file errors from the agent side # and "connection refused" message from client. if [ ! -f ${TOOLS_JAR} ] ; then echo "Please set JAVA_VERSION to the target java version" exit 1 fi ;; *) TOOLS_JAR="${JAVA_HOME}/lib/tools.jar" ;; esac ${JAVA_HOME}/bin/java -Dcom.sun.btrace.probeDescPath=. -Dcom.sun.btrace.dumpClasses=true -Dcom.sun.btrace.debug=true -Dcom.su n.btrace.unsafe=false -cp ${BTRACE_HOME}/build/btrace-client.jar:${TOOLS_JAR}:/usr/share/lib/java/dtrace.jar com.sun.btrace.client.M ain $* else echo "Please set JAVA_HOME before running this script" exit 1 fi else echo "Please set BTRACE_HOME before running this script" exit 1 fi执行之后,btrace控制台打印的信息 DEBUG: btrace debug mode is set DEBUG: dumpClasses flag is set DEBUG: dumpDir is . DEBUG: assuming default port 2020 DEBUG: assuming default classpath '.' DEBUG: compiling ThreadCounter.java DEBUG: compiled ThreadCounter.java DEBUG: attaching to 15885 DEBUG: checking port availability: 2020 DEBUG: attached to 15885 DEBUG: loading /root/reg/btrace/build/btrace-agent.jar DEBUG: agent args: port=2020,debug=true,dumpClasses=true,dumpDir=.,systemClassPath=/data/jdk1.6.0_29/lib/tools.jar,probeDescPath=. Agent JAR not found or no Agent-Class attribute 请各位支招 |
|
RednaxelaFX
2013-08-20
楼主之前怀疑是不是用户权限的问题,试过用同用户+sudo来执行了不?
另外你的btrace是不是自己打包的版本?能不能手工打开btrace-agent.jar看看里面的MANIFEST到底对不对? |
|
miroku
2013-08-20
换成了root用户也是同样的问题,btrace是下的官方版本,不是自己打的
|
|
RednaxelaFX
2013-08-20
系统环境是什么?Linux x64?
|
|
miroku
2013-08-20
是的 linux x64
|
|
shigangxing
2013-12-17
@miroku 求关注 http://hllvm.group.iteye.com/group/topic/39188
|
|
a511596982
2014-08-15
在export JAVA_HOME="/data/jdk1.6.0_29/"
下面加一条 export BTRACE_HOME=you_btrace_home |