在BTrace中将char []转换为String

时间:2010-06-16 16:15:34

标签: java debugging trace instrumentation btrace

我正在使用btrace分析应用程序并面临限制。我试着得到一个当前java.lang.Thread的名字。 Normaly你可以调用getName(),但它在btrace-scripts中被禁止(任何调用异常BTraceUtils)。
有没有想过如何从char[]获取字符串?

原始任务是检查线程名称是否包含子字符串,然后仅注销跟踪信息(减少输出)。

2 个答案:

答案 0 :(得分:3)

可能对其他人有帮助的一些信息:

https://btrace.dev.java.net/source/browse/btrace/docs/usersguide.html?rev=1.7

  

特别是BTrace类

     
      
  • 无法创建新对象。
  •   
  • 无法创建新阵列。
  •   
  • 不能抛出异常。
  •   
  • 无法捕捉异常。
  •   
  • 不能进行任意实例或静态方法调用 - 只能公开   静态方法   com.sun.btrace.BTraceUtils类可以   从BTrace计划中调用。
  •   
  • 无法分配目标程序类的静态或实例字段   对象。但是,BTrace类可以分配   它自己的静态字段(“跟踪   国家“可以变异”。
  •   
  • 不能包含实例字段和方法。只有静态公共空白   允许返回方法   BTrace课程。所有领域都必须   是静态的。
  •   
  • 不能有外部,内部,嵌套或本地类。
  •   
  • 不能有同步块或同步方法。
  •   
  • 不能有循环(for,while,do..while)
  •   
  • 不能扩展任意类(超类必须是   java.lang.Object中)
  •   
  • 无法实现接口。
  •   
  • 不能包含断言语句。
  •   
  • 不能使用类文字。
  •   

http://btrace.kenai.com/javadoc/1.1/com/sun/btrace/BTraceUtils.html

答案 1 :(得分:1)

只需使用 BTraceUtils 中的“内置”功能 名称(主题) 。它作为参数的一种类型是Thread,它返回线程的名称。此外,还有 threadId(线程) 函数,它返回线程的ID。

您可以在 BTraceUtils 课程中找到许多有用的功能 - 请查看在线javadoc

干杯,

JB