当前位置: 首页 > 知识库问答 >
问题:

如何在JMC控制台中获取阻塞语句的堆栈跟踪?

梁鸿风
2023-03-14

我正在使用Java Mission Control来配置我的应用程序。“Threads”选项卡中有用的度量之一是每个线程被阻塞的次数。然而,我似乎找不到一种方法来获取线程被阻塞在哪些代码行上。是否有一种方法--通过编程或通过JMC--来确定阻塞发生在哪里?

共有1个答案

岳英锐
2023-03-14

您可以在Threads/Hot Threads选项卡上的Hot Methods子选项卡中看到不同的堆栈跟踪,单击某个线程只查看该线程的堆栈跟踪。

在JMC6中,您可以在Lock Instances页面和stack Trace视图中看到相同的信息。

 类似资料:
  • 有没有办法避免java.lang.Process阻塞控制台?在我的情况下,当我执行以下代码时,我的输入在控制台中被阻止。所以我几乎再也不能输入任何东西了。我已经试过了。例如,在新线程中启动它是不起作用的。

  • 问题内容: 如何获得Java中的当前堆栈跟踪,就像你可以在.NET中那样? 我找到了,但这不是我想要的-我想找回堆栈跟踪信息,而不是打印出来。 问题答案: 你可以使用。 这将返回一个数组,该数组代表程序的当前堆栈跟踪。

  • 在我们的日志文件中,我们发现以下内容: 只有这一行,没有异常堆栈跟踪。 出现此异常的try块正在执行使用javassist创建的动态生成的Java字节码。 我想知道两件事: : null 丢失的堆栈跟踪,尽管在块内使用调用日志挂钩,这通常会导致完整的堆栈跟踪被打印在日志文件中。 我的问题: > 什么样的代码会导致日志输出“java.lang.ArrayIndexOutOfBoundsExcepti

  • 问题内容: 我正在尝试用Python创建一个简单的IRC客户端(这是我学习该语言时的一个项目)。 我有一个循环,可以用来接收和解析IRC服务器发送给我的内容,但是如果我使用它raw_input来输入内容,它将停止循环,直到我输入某些东西为止(显然)。 如何在不停止循环的情况下输入内容? 提前致谢。 (我认为我不需要发布代码,我只想输入一些内容,而while 1循环不会停止。) 编辑:我在Windo

  • 我得到了堆栈跟踪。我所能跟踪的最远的回调是中的调用。没有留下是从调用的信息。 有没有一种方法可以获得完整的堆栈跟踪?

  • 我在Scala/Play2.2.0应用程序上使用Logback 1.0.13。现有配置如下所示: