获取java程序运行时的当前堆栈跟踪

时间:2013-06-24 22:45:30

标签: java debugging jar execution

假设我使用java命令运行了一个java程序,如果我有该程序的源代码,是否可以在运行时获取该程序的当前位置或堆栈跟踪?一个不会停止我的程序的解决方案是首选。

2 个答案:

答案 0 :(得分:2)

将调试器附加到JVM并暂停JVM。然后调试器可以显示堆栈跟踪。

答案 1 :(得分:2)

jps找到进程ID。 jstack转储堆栈。

如果它正在为命令行运行,ctrl-Z / ctrl-break(取决于平台)也将完成这项工作。