Btrace 不返回任何东西

Posted

技术标签:

【中文标题】Btrace 不返回任何东西【英文标题】:Btrace not returning Anything 【发布时间】:2015-07-23 14:35:46 【问题描述】:

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

包 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);
  

这直接来自示例目录,只是更改了 "clazz="/.*/"," 出于绝望打印出来的内容。没有运气。

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

有什么我可能缺少的想法吗? 谢谢!

更新:打开调试模式发现它挂在“调试:检查端口可用性:2020”。有什么想法吗?

【问题讨论】:

【参考方案1】:

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

另外 - 为所有类的所有方法启用行跟踪是一个真正的Bad Idea(tm)。您将导致大量的类重新转换和重新加载,如果运气不好,您可能会关闭您的应用程序(由于内存问题)。

【讨论】:

那是我的问题,我没有编译类!太糟糕了,谢谢!

以上是关于Btrace 不返回任何东西的主要内容,如果未能解决你的问题,请参考以下文章

Django:Filter()不返回任何东西

未来不返回任何东西

objectForKey 不返回任何东西

jQuery:如果 $('#id') 不匹配任何东西会返回啥?

在孩子上添加不返回任何东西

NSFetchRequest 不返回任何东西