Version
- GraalVM for JDK 23 (Latest)
- GraalVM for JDK 24 (Early Access)
- GraalVM for JDK 21
- GraalVM for JDK 17
- Archives
- Dev Build
- Getting Started with Native Image
- Guides
- Native Image Basics
- Build Overview
- Reachability Metadata
- Optimizations and Performance
- Debugging and Diagnostics
- Debug Info Feature
- Inspect Tool
- JDK Flight Recorder
- Native Memory Tracking
- Java Diagnostic Command
- Linux Perf Profiler Support
- Points-to Analysis Reports
- Dynamic Features
- Interoperability with Native Code
- LLVM Backend
- Workshops and Labs
This documentation is for the unreleased GraalVM version.Download Early Access Builds from GitHub.
Debugging and Diagnostics
Native Image provides utilities for debugging and inspecting the produced binary:
- For debugging produced binaries and obtaining performance profile statistics, see Debug Information
- For generating heap dumps, see Heap Dump Support
- For JFR events recording, see JDK Flight Recorder (JFR)
- For checking which methods were included in a native executable or a shared library, use the Inspection Tool
- For an overview of static analysis results, see Static Analysis Reports
- For performance analysis, see Linux Perf Profiler Support in Native Image
- For an overall insight regarding build phases and the contents of a native executable, use Build Reports
- For native memory tracking, see Native Memory Tracking (NMT)
- See the Java Diagnostic Command documentation for instructions on using
jcmd
.