问题标签 [btrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
184 浏览

java - 如何跟踪java基本类型数组?

我有记忆问题。我在堆转储中发现了一个巨大的 char[]。但我不知道它来自哪里。这是一个弱/软参考。是否有任何工具/方法来跟踪这种基本类型的数组分配?

0 投票
1 回答
232 浏览

java - btrace 测试调用函数使用的内存

使用 btrace,我想测试我的函数使用了多少堆,所以我写:

在此处输入图像描述

代码上方是我使用的 btrace 示例。

并且两次运行我的功能,我得到了两个不同的结果:

在此处输入图像描述

如图所示,堆成本不同:一个是另一个的两倍。

0 投票
2 回答
1311 浏览

java - 如何使用 btrace

我想学习btrace。

java进程用户是yubaofu

yubaofu@btracesudo sh /home/yubaofu/study/btrace/bin/btrace 24234 JInfo.class
知名文件不安全

yubaofu@btracesh /home/yubaofu/study/btrace/bin/btrace 24234 JInfo.class
连接被拒绝

我发现了一个类似的问题

如何解决?

操作系统:ubuntu12
jdk:jdk7

0 投票
1 回答
476 浏览

java - 使用 BTrace 查找第一次创建类的时间

我正在尝试使用 BTrace 来查找何时在我的程序中首次实例化某种类型(Eclipse 调试器无法找到它),因为我看到了一些奇怪的行为(Javolution XMLStreamWriterImpl 之前以某种方式向我的 XML 添加元素它甚至应该已经创建)。

无论如何,我有以下通过 JVisualVM 使用的方法,但运行时没有显示任何内容。

0 投票
1 回答
439 浏览

java - BTrace 脚本杀死 Java 虚拟机线程

VisualVM 支持执行不安全的 BTrace 脚本 ( https://kenai.com/projects/btrace/pages/UserGuide )。是否可以使用不安全的 BTrace 脚本来杀死/中断一些 Java 线程?我的 Eclipse IDE 中的一些线程死锁了,我想优雅地关闭 IDE。

“Worker-3571”prio=6 tid=0x00000000114b7800 nid=0x964 等待监视器条目 [0x000000002a45f000] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$ PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155) - 等待在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 处锁定 <0x00000000f7490ce8> (一个 java.lang.Object)

“Worker-3568”prio=6 tid=0x00000000114b9000 nid=0x2984 等待监视器条目 [0x000000002958f000] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$ PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155) - 等待在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 处锁定 <0x00000000f7490ce8> (一个 java.lang.Object)

“Worker-3570”prio=6 tid=0x00000000114bc000 nid=0x1980 in Object.wait() [0x000000002998f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:457) 处的 java.lang.Object.wait(Object.java:503) - 锁定 <0x00000000e10979a0>(一个 java.lang.Object)在 org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128) 在 org.eclipse.jdt 在 org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170) .internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155) - 在组织中锁定 <0x00000000f7490ce8>(一个 java.lang.Object)。eclipse.core.internal.jobs.Worker.run(Worker.java:53)

0 投票
1 回答
114 浏览

java - BTrace - 它可以跟踪按钮单击事件吗?

我知道 BTrace 可以跟踪 java 程序的任何目标方法。但是,我想知道它是否可以跟踪直接在代码中定义的方法。像按钮侦听器方法一样,因为我想跟踪这个事件。

0 投票
1 回答
194 浏览

java - 关于 btrace 的代码是什么意思

在以下代码中:

这是什么意思:get(field("java.net.URL", "authority"),instance)

请参考我的文档。

0 投票
1 回答
255 浏览

btrace - 为什么我不能在 Btrace 不安全模式下创建新对象?

在 Btrace UserGuide( https://kenai.com/projects/btrace/pages/UserGuide ) 中它指的是 'BTrace Restrictions' ,并且在不安全模式下也指的是没有 'BTrace Restrictions'</p>

BTrace 限制不能创建新对象。无法创建新数组。不能抛出异常。……

支持的参数不安全 - 不检查 btrace 限制违规(真/假)

在我的btrace shell中,我已经设置了-Dcom.sun.btrace.unsafe=true,但是还是不能创建新对象,为什么?

0 投票
1 回答
416 浏览

btrace - com.sun.btrace.VerifierException:不安全模式,由脚本请求,不允许

Ubuntu 13.10

btrace 1.2.4

我有编辑-Dcom.sun.btrace.unsafe=true参数并分配@BTrace( unsafe = true )

但是当我运行 btrace 脚本时,它会抛出异常:

btrace 1625 产品RPCNewBtrace.java

DEBUG:设置了 btrace 调试模式

调试:设置了 btrace 不安全模式

调试:假设默认端口 2020

调试:假设默认类路径“。”

调试:编译 ProductRPCNewBtrace.java 调试:编译 ProductRPCNewBtrace.java

调试:附加到 1625

调试:检查端口可用性:2020

调试:附加到 1625

调试:加载 /export/servers/btrace/build/btrace-agent.jar

调试:代理参数:

port=2020,debug=true,unsafe=true,systemClassPath=/export/servers/jdk1.6.0_25/lib/tools.jar,probeDescPath=。

调试:加载 /export/servers/btrace/build/btrace-agent.jar

DEBUG:注册关机钩子

DEBUG:为 SIGINT 注册信号处理程序

调试:提交 BTrace 程序

调试:开放套接字到 2020

DEBUG:发送仪器命令

调试:进入命令循环

调试:收到 com.sun.btrace.comm.ErrorCommand@3c24c4a3

com.sun.btrace.VerifierException:不安全模式,由脚本请求,在 com.sun.btrace.runtime.Verifier.reportError(Verifier.java:385) 处不允许在 com.sun.btrace.runtime.Verifier.reportError( Verifier.java:376) 在 com.sun.btrace.runtime.Verifier$1.visit(Verifier.java:141) 在 com.sun.btrace.org.objectweb.asm.ClassReader.a(Unknown Source) 在 com.sun .btrace.org.objectweb.asm.ClassReader.a(Unknown Source) at com.sun.btrace.org.objectweb.asm.ClassReader.accept(Unknown Source) at com.sun.btrace.org.objectweb.asm.ClassReader .accept(Unknown Source) at com.sun.btrace.runtime.InstrumentUtils.accept(InstrumentUtils.java:66) at com.sun.btrace.runtime.InstrumentUtils.accept(InstrumentUtils.java:62) at com.sun.btrace .agent.Client.verify(Client.java:397) 在 com.sun.btrace.agent.RemoteClient.(RemoteClient.java:59) 在 com.sun.btrace.agent.Main 的 com.sun.btrace.agent.Client.loadClass(Client.java:224)。 startServer(Main.java:379) at com.sun.btrace.agent.Main.access$000(Main.java:65) at com.sun.btrace.agent.Main$3.run(Main.java:166) at java .lang.Thread.run(Thread.java:662)

调试:收到 com.sun.btrace.comm.ExitCommand@11e9c82e

我打开调试模式,我们可以看到我已经打开了不安全模式。但是为什么仍然不支持不安全模式?

0 投票
1 回答
248 浏览

btrace - BTrace 的 -classpath 参数如何支持许多 jar 文件?

有时我们在使用 BTrace 时需要依赖第三方 jar 文件。

也许我需要导入 a.jar 和 b.jar 来支持 BTrace 脚本。我该如何拼写-classpath参数?