jvm方法调用历史记录跟踪

时间:2010-11-18 20:44:38

标签: java debugging jvm

我有一个问题。假设我正在运行一些java核心应用程序,我对它并不是很了解。该服务获取请求并发回响应。我想知道的是当前正在调用哪些类(和方法)。是否可以放置某种时间范围并获取特定包的所有java方法调用(如com.company.xxxx)?我可以使用JConsole或任何可用的工具吗?

感谢您的回复

由于

2 个答案:

答案 0 :(得分:1)

您可以使用JConsole发布thread dump

答案 1 :(得分:0)

  1. 添加到 java 命令并运行

java -classpath ... -Xdebug -Djava.complier=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000 ... Main

  1. 打开jdb
$ jdb -attach localhost:5000
  1. jdb
...
Initializing jdb ...
> threads
Group system:
  (java.lang.Thread)0x10bd ...

0x10bd 是线程 ID

trace go methods 0x10bd

您将看到每个进入和退出方法的一行