gpt4 book ai didi

java - 如何在调用特定 Java 方法时转储堆栈跟踪?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:27 24 4
gpt4 key购买 nike

我们需要调试一个随机执行不该执行的操作的 Java 应用程序。

要了解问题的根本原因,我们需要在调用特定方法时获取堆栈跟踪。这听起来很简单(在这个特定的方法中添加 Thread.dumpStack()),但是这是来自 JDK 的代码类,因此我们真的不想弄乱它(即使我们确实可以) .

有谁知道我们是否可以在 JVM 中实现某种“监听器”来检测何时调用特定方法并转储堆栈跟踪?

这是一个生产系统,所以如果解决方案是一个调试器,我们需要一些对性能影响非常有限的东西。

感谢您的意见。

最佳答案

使用 Byteman。它可以很容易地将跟踪代码注入(inject)到正在运行的服务器中。我们的支持团队喜欢它。 http://www.jboss.org/byteman

关于java - 如何在调用特定 Java 方法时转储堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5273366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com