尝试使用jstack。它会为您提供线程正在执行的操作的完整列表。它所需要的只是进程pid。
我得到了堆栈跟踪。我所能跟踪的最远的回调是中的调用。没有留下是从调用的信息。 有没有一种方法可以获得完整的堆栈跟踪?
问题内容: 我正在研究非常庞大的基于Java Web的应用程序。由于在开发过程中没有完成正确的日志记录,因此我很难设置断点并调试应用程序,因为我不知道执行顺序。在执行一些操作之后,是否有任何机制可以获取正在运行的Java应用程序的完整调用堆栈。 我在网上搜索了很长时间,但无法找到具体的解决方案。如果有东西请给我建议。谢谢 问题答案: 方法1:从命令行使用Jstack实用程序(JDK发行版的一部分)
问题内容: 我有这个Python应用程序,它有时会卡住,我找不到位置。 有什么方法可以让Python解释器向您显示正在运行的确切代码吗? 某种动态堆栈跟踪? 问题答案: 我有用于以下情况的模块-进程将长时间运行,但有时由于未知且不可复制的原因而卡住。它有点hacky,并且只能在unix上运行(需要信号): 要使用它,只需在程序启动时在某个时候调用listen()函数(您甚至可以将其粘贴在site.
问题内容: 如何获得Java中的当前堆栈跟踪,就像你可以在.NET中那样? 我找到了,但这不是我想要的-我想找回堆栈跟踪信息,而不是打印出来。 问题答案: 你可以使用。 这将返回一个数组,该数组代表程序的当前堆栈跟踪。
我有一个HttPURLConnection程序,它正在与运行在同一台机器上(本例中是CentOS)但部署在其他tomcat服务器上的某个应用程序建立连接。这意味着在部署在不同tomcats上的两个应用程序之间建立了HttpConnection,其中两个tomcats都运行在同一台机器上。 下面是我的代码: 然而,同样的代码在生产环境中运行得非常好,每秒大约有50个请求。 当我使用JVisualVM
Java(TM)SE运行时环境(构建1.7.0_40-B43) Java HotSpot(TM)64位服务器VM(构建24.0-b56,混合模式 我们有相同技术的其他应用程序,但没有问题。 -xms1g-xmx1g-xx:+heapdumponoutofmemoryerror-xx:+useparngc-xx:+useconcmarksweepgc-xx:+printgcdetails-xx:+p