Btrace没有归还任何东西

时间:2015-07-23 14:35:47

标签: java eclipse profiling btrace

所以我自我介绍btrace,但目前我没有得到任何输出。使用此脚本:

package com.sun.btrace.samples;

import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;

@BTrace
public class AllLines {
@OnMethod(
    clazz="/.*/",
    location=@Location(value=Kind.LINE, line=-1)
)
public static void online(@ProbeClassName String pcn, @ProbeMethodName String pmn, int line) {
    print(Strings.strcat(pcn, "."));
    print(Strings.strcat(pmn, ":"));
    println(line);
 } 
}

这直接来自samples目录,只是改变了“clazz =”/.*/“,”出于绝望而打印出来的东西。没有运气。

我指向btrace的pid是一个简单的java程序,我为了测试目的而开发,它在循环上调用某个方法。我正在通过Eclipse运行它。

任何想法我可能会失踪? 谢谢!

更新:打开调试模式,发现它挂在“debug:checking port availability:2020”。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您尝试跟踪的类是使用javac -g还是至少javac -g:lines编译的?您需要这样做才能访问字节码中的行号信息。

此外 - 为所有类的所有方法启用行跟踪是一个非常坏主意(tm)。您将导致大量的类重新转换和重新加载,并且运气不好,您可以将应用程序关闭(由于内存问题)。