Skip to content

larry-cable/HotSpotCrashExaminerPlugin

 
 

Repository files navigation

icon

HotSpot Crash Examiner

Official JetBrains Project Contributions welcome Build Version Downloads

Provides IDE capabilities to examining HotSpot JVM fatal error logs:

  • Syntax highlighting
  • Structured view
  • Folding
  • Go to declaration for Java names
  • A dedicated tool window
  • Documentation hints for addresses, keywords, sizes, etc.

Additional features:

  • Configurable auto-folding of sections (Settings | Other Settings | HotSpot Crash Examiner).
  • The tool window lists important properties from the log, their explanation, and detailed analysis.
  • Highlights the relevant portion of the log when clicking on a tool window element.
  • Mark the properties that require attention such as low physical memory on the JVM host. Limits are configurable in the Settings dialog.
  • Go to declaration for Java classes and methods.
  • Find Address action from the editor's context menu will highlight all occurrences of the currently selected address and those near it (configurable in the Settings dialog). If the address belongs to some thread's stack or can be found in the memory map, that will also be highlighted.
  • Documentation hints for register names, signals, and other keywords; detailed info about addresses.

Automatically recognizes the files matching these patterns: hs_err_*.log, java_error_in_*.log, and crash*.txt.

To view any file with this plugin, select the file in the project view, choose Override File Type and then HotSpot Fatal Error Log

Overview

Toolwindow

Configurable warnings in the tool window draw attention to unusual features of the crash: Toolwindow warning

A human-readable analysis of the crash: Analysis

Address Hints

Hold the mouse pointer over an address to try to resolve it. Works for thread, stack, Java heap, dynamic libraries, and other addresses: Heap address resolved Thread address resolved

Find Address

Pick the Find Address option from the context menu to highlight the address under the cursor and addresses near it everywhere in the log file: Resolves an address to the JavaThread name

Addresses do not have to match textually or even appear in the log. For example, address pointing into a memory-mapped region will highlight that region in the log.

Hints

Numbers that denote the size are converted into a more human-readable form: Size hint

Signals, registers, and common thread names, some JVM terms also have documentation hints.

Go To Declaration

Go to declaration for Java symbols and classes; requires Java support in the IDE and the corresponding project with the classes opened: Go to declaration

Configuration Options

Various thresholds are configurable in the plugin's Settings dialog: Plugin Settings Page

Installation

  • Using the IDE built-in plugin system:

    Settings/Preferences > Plugins > Marketplace > Search for "HotSpot Crash Examiner" > Install

  • Manually:

    Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...

Resources

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 54.5%
  • Java 43.9%
  • Lex 1.6%