IBM 的 Java 诊断,第 1 部分: 介绍面向 Java 的 IBM 转储分析器(IBM Dump Analyzer)
2010-04-01 00:00:00 来源:WEB开发网JIT 编译器可能生成错误代码,该代码引用或尝试对无效的位置进行分支。
Java 应用程序或中间件的错误
Dump Analyzer 目前处理在 VM 自身发生或检测到的错误,但最终这些工具集将能够诊断在 VM 中运行的 Java 应用程序或中间件中的各种错误和不正确的行为。发生这些错误有各种潜在的原因;它们通常是由于应用程序或中间件代码中的缺陷或 JVM 选项的错误配置造成的。一般,通常检查应用程序或中间件中各种数据结构的状态即可确定该状态的错误因素。
当前的问题诊断情况
如果没有像 Dump Analyzer 这样的工具,您通常会首先检查故障点处 VM 生成的产物, 从而开始诊断问题。通常,它们是:
进程空间转储(系统转储或核心文件)
Java 堆转储(堆转储)
Java 进程快照(Javacore 文件)
显示某些执行历史记录的跟踪文件
通常,您应该使用每种特定格式的专门程序分别检查这些产物。那么确定问题的过程主要是手动检查可用的信息。随着数据量的增加,该过程变得越来越费时,工作变得越来越专业。因此,客户通常不愿意自己执行分析,而是依赖他们的 VM 或中间件供应商来执行该操作,但报告的大多数问题最终都被诊断为应用程序、配置或环境问题,这些问题不需要对 VM 或中间件本身的代码进行任何更改。理想情况下,客户可用的诊断功能将确保只将需要更改代码的缺陷报告给 VM 或中间件供应商。其他问题将使用 VM 生成的相应产物自动进行诊断。
Dump Analyzer 概述
Dump Analyzer 是一个基于 Diagnostic Tooling Framework for Java(DTFJ;您将在本文的后面部分进一步了解)的工具,设计为分析系统转储并查找各种类型的问题。该工具由很多小的分析模块组成,这些模块查看特定的转储数据并确定是否存在特殊问题(例如,死锁)。该设计可以轻松容纳其他新功能并且可以进行定制以查找特定问题。
更多精彩
赞助商链接