为了账号安全,请及时绑定邮箱和手机立即绑定

如何在未在控制台中运行的Windows上获取Java进程的线程和堆转储

如何在未在控制台中运行的Windows上获取Java进程的线程和堆转储

HUWWW 2019-12-02 08:04:53
我有一个从控制台运行的Java应用程序,该控制台又执行另一个Java进程。我想获得该子进程的线程/堆转储。在Unix上,我可以这样做,kill -3 <pid>但是在Windows AFAIK上,获取线程转储的唯一方法是在控制台中按Ctrl-Break。但这只给了我父进程而不是子进程的转储。还有另一种方法来获得该堆转储吗?
查看完整描述

3 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

除了使用提到的jconsole / visualvm,您还可以jstack -l <vm-id>在另一个命令行窗口上使用并捕获该输出。


可以使用任务管理器(它是Windows和UNIX上的进程ID)或使用来找到<vm-id> jps。


两者jstack和jps都包含在Sun JDK版本6和更高版本中。



查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 495 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信