• BTrace 初探


    BTrace 是一款java诊断工具,在解决现场问题的时候非常有用。

    今天使用的时候碰到几个坑,先记录一下.

    下载下来以后直接运行报错

    root@iZ2ze89756yjbvq7le6obdZ:~/btrace-bin-1.3.11/bin# ./btrace 6582 /root/testBtrace.java 
    Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/source/util/TaskListener
    	at com.sun.btrace.client.Client.compile(Client.java:181)
    	at com.sun.btrace.client.Client.compile(Client.java:164)
    	at com.sun.btrace.client.Main.main(Main.java:189)
    Caused by: java.lang.ClassNotFoundException: com.sun.source.util.TaskListener
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    	... 3 more
    

    百度半天才发现是因为没有配置JAVA_HOME 环境变量导致的.

    第二个错

    root@iZ2ze89756yjbvq7le6obdZ:~# btrace-bin-1.3.11/bin/btrace 6582 HelloWorld.java 
    Port 2020 unavailable.
    

    端口被占用,修改端口即可.

    btrace-bin-1.3.11/bin/btrace -p  2022 15516 HelloWorld.java
    

    第三个错

    root@iZ2ze89756yjbvq7le6obdZ:~# btrace-bin-1.3.11/bin/btrace -p  2021 6582 HelloWorld.java btrace WARNING: Invalid 'libs' configuration [null]. Path '/root/btrace-bin-1.3.11/build/btrace-libs' does not exist.
    

    默认下载下来的btrace文件夹中没有btrace-lib,在btrace-bin-1.3.11/build下新建一个即可,把btrace-bin-1.3.11/build下的jar包也拷过去就好了.
    最后的成果:

    root@iZ2ze89756yjbvq7le6obdZ:~# btrace-bin-1.3.11/bin/btrace -p  2022 15946 HelloWorld.java
    search start!
    search start!
    
  • 相关阅读:
    Git 常用命令
    Python 常用算法记录
    Python基础Web服务器案例
    你真的懂SDWebImage?
    Core Data的那点事儿~
    看看 SDWebImage内部基本实现过程
    App上架流程 & 上架被拒10大原因
    KVO中你所不知道的"坑"
    math公式手写识别网址
    umi build出现的Path must be a string的问题解决
  • 原文地址:https://www.cnblogs.com/mysgk/p/9427258.html
Copyright © 2020-2023  润新知