`
hillmover
  • 浏览: 34460 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Java系统的堆栈跟踪

    博客分类:
  • Java
阅读更多

如何生成堆栈的Dump?

有下面3种方法,可以得到Java系统的堆栈信息。

1、给JVM发生信号

     UNIX/Linux: kill -3 <pid>

     Windows: Ctrl + Break

2、JVM运行时,内部错误引发显示堆栈信息

3、使用debug工具或者Java程序调用

在Java debuger中输入命令where,或用如下方法可以得到部分的堆栈信息:

Thread.dumpStack()

Throwable.printStackTrace()

 

得到堆栈信息后,第一件事情就是找出当前的执行线程、找出Runnable的线程、检查monitors。

 

通常,如果系统停滞了,需要检查堆栈信息确认是否死锁了。

一个很忙的系统,跟踪堆栈信息时,最好能多次生成堆栈信息,这样才能容易跟踪各种分支情况。

分享到:
评论

相关推荐

    IBM java线程堆栈分析工具

    此外,对于不熟悉线程分析的开发者,理解线程状态(如Runnable, Blocked, Waiting, Timed_Waiting等)以及如何解读堆栈跟踪信息也是必要的。 总之,IBM的jca467.jar是WAS环境下进行Java线程分析的强大工具,它能够...

    Java堆栈分析服务器

    然后,使用`jstack`命令来分析Java虚拟机(JVM)的堆栈跟踪信息。`jstack`是Java提供的一个命令行工具,它能打印出指定进程的线程堆栈信息。在这里,我们输入`jstack 29609`,查找nid=0x7450(或者其他高CPU占用线程...

    输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程

    为了获取这些信息,我们可以使用jstack工具,它是Java开发工具包(JDK)的一部分,能够输出Java进程的线程堆栈跟踪信息。 jstack命令通常可以输出以下类型的信息: 1. 线程的完整堆栈跟踪,包括本地方法。 2. 显示...

    详解Java 打印堆栈的几种方法

    在这个方法中,我们创建了一个`Throwable`对象,然后通过`getStackTrace()`方法获取当前线程的堆栈跟踪元素数组。`StackTraceElement`对象包含了类名、文件名、行号和方法名等信息,我们逐个打印出来,以形成堆栈...

    bTrace跟踪线程堆栈

    标题 "bTrace跟踪线程堆栈" 涉及到的是在Java开发中对线程堆栈进行监控和分析的技术,主要使用了开源工具bTrace。bTrace是一款强大的、无侵入式的Java运行时代码注入工具,允许开发者在运行中的Java应用上动态添加...

    Android调用堆栈跟踪实例分析

    在Android开发过程中,调试是必不可少的一个环节,而堆栈跟踪是定位问题的关键工具。本文将深入探讨Android调用堆栈跟踪的方法,通过实例解析如何分析Android错误信息,这对于开发者来说具有很高的参考价值。 首先...

    java.lang.OutOfMemoryError: Java heap space 解决方法

    - 在Windows系统下,可以通过修改Tomcat的`C:\tomcat5.5.9\bin\catalina.bat`文件中的`JAVA_OPTS`变量来增加堆内存大小。示例命令如下: ``` set JAVA_OPTS=-Xms64m -Xmx512m ``` 这里将最小堆大小设为64MB,...

    JAVA 系统 监测 警报 发送邮件

    为了增强用户体验,邮件中可以包含详细的报警信息,如系统状态报告、异常堆栈跟踪等。 为了使系统更加健壮,可以考虑使用异步处理警报,避免因发送邮件导致主程序阻塞。这可以通过实现`ExecutorService`来实现,将...

    linux 堆栈溢出的问题

    【Linux堆栈溢出问题详解】 堆栈溢出是一种常见的软件安全漏洞,尤其在Linux和Unix系统中...通过学习汇编语言、理解堆栈操作以及跟踪代码执行流程,可以帮助开发者发现和修复这类安全问题,从而保障系统的稳定和安全。

    查看堆栈的工具 jca.rar

    在Unix/Linux系统中,`kill -3` 命令通常用于向进程发送一个SIGQUIT信号,这会导致Java虚拟机(JVM)打印出当前所有线程的堆栈跟踪信息到标准错误流。这种输出被称为“线程转储”,它包含每个线程的详细状态,包括...

    axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    2. **内存限制**:在处理大量或复杂的请求时,如果系统内存不足,可能导致堆栈跟踪无法正确生成字符串,从而引发异常。 3. **代码异常**:在调用`callStackToString`之前或之后,如果代码中存在错误或未捕获的异常...

    Java问题定位技术(

    分析性能瓶颈时,需要借助各种手段和工具,例如操作系统提供的CPU统计工具、JVM自带的性能剖析工具、以及第三方性能分析软件等。性能分析不仅要分析JVM参数,还要了解程序的运行时状态,包括线程的状态、锁的使用...

    Idea系统资源不足解决方案

    标题 "Idea系统资源不足解决方案" 指的是在使用IntelliJ IDEA(简称Idea)这款流行的Java集成开发环境时遇到系统资源不足的问题,这可能是由于内存分配不当、插件过多、项目过大等原因导致的。这篇解决方案可能包含...

    基于Java+vue的前后端分离MES生产执行管理系统源码

    在这个基于Java+Vue的MES(Manufacturing Execution System)生产执行管理系统源码中,我们可以深入探讨以下几个核心知识点: 1. **Java后端开发**: - **Spring Boot框架**:Java后端通常使用Spring Boot进行快速...

    hdf5库文件

    7. **多种语言支持**:HDF5提供了C、C++、Fortran等语言的API,同时有Python、Java等高级语言的接口,方便各种编程环境下的应用开发。 8. **数据集切片和索引**:HDF5允许对大型数据集进行切片操作,可以快速定位和...

    实验2堆栈模板.rar

    6. **错误回溯**:在程序出错时,堆栈跟踪可以帮助开发者确定出错位置及调用路径。 7. **深度优先搜索(DFS)**:在图或树的遍历中,堆栈常用于实现深度优先策略。 在“实验2堆栈模板.rar”中,包含的“stack”...

    javacore分析工具

    Javacore是Java虚拟机(JVM)在遇到问题时生成的一种转储文件,包含了关于JVM运行时状态的重要信息,如线程堆栈跟踪、内存使用情况、类加载器状态等。对于诊断和解决性能问题、内存泄漏或挂起情况,Javacore分析至关...

    我的世界启动器源码java-Minecraft-Technic-Launcher-Unexpected-Eror:堆栈跟踪IndexOutOf

    堆栈跟踪:异常:IndexOutOfBoundsException消息:索引:0,大小:0跟踪:java.util.ArrayList.rangeCheck(未知源)java.util.ArrayList.get(未知源)org.spoutcraft.launcher.skin.NewsComponent.setupArticles ...

    Maven包和遇到的问题总结

    2. **配置环境变量**: 将Maven的bin目录添加到系统的PATH环境变量中,这样可以在命令行中直接使用mvn命令。 3. **配置settings.xml**: Maven的配置主要通过`conf/settings.xml`文件进行。在此文件中,你可以设置...

    机操作异常跟踪上传

    控件通常会提供接口,使得当异常发生时,能够立即捕获异常信息,如异常类型、堆栈跟踪、错误消息等,并将这些信息保存到本地日志文件中。 接下来,描述中提到的“把对应的异常上传到服务器中查看”,这涉及到了远程...

Global site tag (gtag.js) - Google Analytics